Skip to content

Instantly share code, notes, and snippets.

@NeoZ666
Created December 10, 2023 06:34
Show Gist options
  • Save NeoZ666/67846e564091345153f3bc7b3628d3e6 to your computer and use it in GitHub Desktop.
Save NeoZ666/67846e564091345153f3bc7b3628d3e6 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.22+commit.4fc1097e.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.22 <0.9.0;
library TestsAccounts {
function getAccount(uint index) pure public returns (address) {
return address(0);
}
}
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.22 <0.9.0;
library Assert {
event AssertionEvent(
bool passed,
string message,
string methodName
);
event AssertionEventUint(
bool passed,
string message,
string methodName,
uint256 returned,
uint256 expected
);
event AssertionEventInt(
bool passed,
string message,
string methodName,
int256 returned,
int256 expected
);
event AssertionEventBool(
bool passed,
string message,
string methodName,
bool returned,
bool expected
);
event AssertionEventAddress(
bool passed,
string message,
string methodName,
address returned,
address expected
);
event AssertionEventBytes32(
bool passed,
string message,
string methodName,
bytes32 returned,
bytes32 expected
);
event AssertionEventString(
bool passed,
string message,
string methodName,
string returned,
string expected
);
event AssertionEventUintInt(
bool passed,
string message,
string methodName,
uint256 returned,
int256 expected
);
event AssertionEventIntUint(
bool passed,
string message,
string methodName,
int256 returned,
uint256 expected
);
function ok(bool a, string memory message) public returns (bool result) {
result = a;
emit AssertionEvent(result, message, "ok");
}
function equal(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventUint(result, message, "equal", a, b);
}
function equal(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventInt(result, message, "equal", a, b);
}
function equal(bool a, bool b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBool(result, message, "equal", a, b);
}
// TODO: only for certain versions of solc
//function equal(fixed a, fixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function equal(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a == b);
// emit AssertionEvent(result, message);
//}
function equal(address a, address b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventAddress(result, message, "equal", a, b);
}
function equal(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a == b);
emit AssertionEventBytes32(result, message, "equal", a, b);
}
function equal(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) == keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "equal", a, b);
}
function notEqual(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventUint(result, message, "notEqual", a, b);
}
function notEqual(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventInt(result, message, "notEqual", a, b);
}
function notEqual(bool a, bool b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBool(result, message, "notEqual", a, b);
}
// TODO: only for certain versions of solc
//function notEqual(fixed a, fixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
// TODO: only for certain versions of solc
//function notEqual(ufixed a, ufixed b, string message) public returns (bool result) {
// result = (a != b);
// emit AssertionEvent(result, message);
//}
function notEqual(address a, address b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventAddress(result, message, "notEqual", a, b);
}
function notEqual(bytes32 a, bytes32 b, string memory message) public returns (bool result) {
result = (a != b);
emit AssertionEventBytes32(result, message, "notEqual", a, b);
}
function notEqual(string memory a, string memory b, string memory message) public returns (bool result) {
result = (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b)));
emit AssertionEventString(result, message, "notEqual", a, b);
}
/*----------------- Greater than --------------------*/
function greaterThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventUint(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a > b);
emit AssertionEventInt(result, message, "greaterThan", a, b);
}
// TODO: safely compare between uint and int
function greaterThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative uint "a" always greater
result = true;
} else {
result = (a > uint(b));
}
emit AssertionEventUintInt(result, message, "greaterThan", a, b);
}
function greaterThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative uint "b" always greater
result = false;
} else {
result = (uint(a) > b);
}
emit AssertionEventIntUint(result, message, "greaterThan", a, b);
}
/*----------------- Lesser than --------------------*/
function lesserThan(uint256 a, uint256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventUint(result, message, "lesserThan", a, b);
}
function lesserThan(int256 a, int256 b, string memory message) public returns (bool result) {
result = (a < b);
emit AssertionEventInt(result, message, "lesserThan", a, b);
}
// TODO: safely compare between uint and int
function lesserThan(uint256 a, int256 b, string memory message) public returns (bool result) {
if(b < int(0)) {
// int is negative int "b" always lesser
result = false;
} else {
result = (a < uint(b));
}
emit AssertionEventUintInt(result, message, "lesserThan", a, b);
}
function lesserThan(int256 a, uint256 b, string memory message) public returns (bool result) {
if(a < int(0)) {
// int is negative int "a" always lesser
result = true;
} else {
result = (uint(a) < b);
}
emit AssertionEventIntUint(result, message, "lesserThan", a, b);
}
}
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract Hello {
string public welcome = "Hello World!";
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// 0. Make a contract called Calculator
// 1. Create Result variable to store result
// 2. Create functions to add, subtract, and multiply to result
// 3. Create a function to get result
contract Calculator {
uint256 result = 0;
function add( uint256 num) external {
result += num;
}
function subtract(uint256 num) public {
result -= num;
}
function multiply(uint256 num) public {
result *= num;
}
function get() public view returns (uint256) {
return result;
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// 1. Create a Twitter Contract
// 2. Create a mapping between user and tweet
// 3. Add function to create a tweet and save it in mapping
// 4. Create a function to get Tweet
// 5. Add array of tweets
contract Twitter {
mapping(address => string[] ) public tweets;
function createTweet(string memory _tweet) public {
tweets[msg.sender].push(_tweet);
}
function getTweet(address _owner, uint _i) public view returns (string memory) {
return tweets[_owner][_i];
}
function getAllTweets(address _owner) public view returns (string[] memory ){
return tweets[_owner];
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// 1️⃣ Define a Tweet Struct with author, content, timestamp, likes
// 2️⃣ Add the struct to array
// 3️⃣ Test Tweets
contract Twitter {
// define our struct
struct Tweet {
address author;
string content;
uint256 timestamp;
uint256 likes;
}
// add our code
mapping(address => Tweet[] ) public tweets;
function createTweet(string memory _tweet) public {
Tweet memory newTweet = Tweet({
author: msg.sender,
content: _tweet,
timestamp: block.timestamp,
likes: 0
});
tweets[msg.sender].push(newTweet);
}
function getTweet(address _owner, uint _i) public view returns (Tweet memory) {
return tweets[_owner][_i];
}
function getAllTweets(address _owner) public view returns (Tweet[] memory ){
return tweets[_owner];
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// 1️⃣ Use require to limit the length of the tweet to be only 280 characters
contract Twitter {
// define our struct
uint16 constant MAX_TWEET_LENGTH = 280;
struct Tweet {
address author;
string content;
uint256 timestamp;
uint256 likes;
}
// add our code
mapping(address => Tweet[] ) public tweets;
function createTweet(string memory _tweet) public {
// conditional
// if tweet length <= 280 then we are good, otherwise we revert
require(bytes(_tweet).length <= MAX_TWEET_LENGTH, "Tweet is too long bro!" );
Tweet memory newTweet = Tweet({
author: msg.sender,
content: _tweet,
timestamp: block.timestamp,
likes: 0
});
tweets[msg.sender].push(newTweet);
}
function getTweet( uint _i) public view returns (Tweet memory) {
return tweets[msg.sender][_i];
}
function getAllTweets(address _owner) public view returns (Tweet[] memory ){
return tweets[_owner];
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract PausableToken {
address public owner;
bool public paused;
mapping(address => uint) public balances;
constructor() {
owner = msg.sender;
paused = false;
balances[owner] = 1000;
}
modifier onlyOwner() {
require(msg.sender == owner, "Only owner can perform this action");
_;
}
modifier notPaused() {
require(!paused, "Contract is paused");
_;
}
function pause() public onlyOwner {
paused = true;
}
function unpause() public onlyOwner {
paused = false;
}
function transfer(address to, uint amount) public notPaused {
require(balances[msg.sender] >= amount, "Insufficient balance");
balances[msg.sender] -= amount;
balances[to] += amount;
}
}
// SPDX-License-Identifier: MIT
// 1️⃣ Add a function called changeTweetLength to change max tweet length
// HINT: use newTweetLength as input for function
// 2️⃣ Create a constructor function to set an owner of contract
// 3️⃣ Create a modifier called onlyOwner
// 4️⃣ Use onlyOwner on the changeTweetLength function
pragma solidity ^0.8.0;
contract Twitter {
uint16 public MAX_TWEET_LENGTH = 280;
struct Tweet {
address author;
string content;
uint256 timestamp;
uint256 likes;
}
mapping(address => Tweet[] ) public tweets;
address public owner;
constructor() {
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner, "YOU ARE NOT THE OWNER!");
_;
}
function changeTweetLength(uint16 newTweetLength) public onlyOwner {
MAX_TWEET_LENGTH = newTweetLength;
}
function createTweet(string memory _tweet) public {
require(bytes(_tweet).length <= MAX_TWEET_LENGTH, "Tweet is too long bro!" );
Tweet memory newTweet = Tweet({
author: msg.sender,
content: _tweet,
timestamp: block.timestamp,
likes: 0
});
tweets[msg.sender].push(newTweet);
}
function getTweet( uint _i) public view returns (Tweet memory) {
return tweets[msg.sender][_i];
}
function getAllTweets(address _owner) public view returns (Tweet[] memory ){
return tweets[_owner];
}
}
// SPDX-License-Identifier: MIT
// 1️⃣ Add id to Tweet Struct to make every Tweet Unique
// 2️⃣ Set the id to be the Tweet[] length
// HINT: you do it in the createTweet function
// 3️⃣ Add a function to like the tweet
// HINT: there should be 2 parameters, id and author
// 4️⃣ Add a function to unlike the tweet
// HINT: make sure you can unlike only if likes count is greater then 0
// 4️⃣ Mark both functions external
pragma solidity ^0.8.0;
contract Twitter {
uint16 public MAX_TWEET_LENGTH = 280;
struct Tweet {
uint256 id;
address author;
string content;
uint256 timestamp;
uint256 likes;
}
mapping(address => Tweet[] ) public tweets;
address public owner;
constructor() {
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner, "YOU ARE NOT THE OWNER!");
_;
}
function changeTweetLength(uint16 newTweetLength) public onlyOwner {
MAX_TWEET_LENGTH = newTweetLength;
}
function createTweet(string memory _tweet) public {
require(bytes(_tweet).length <= MAX_TWEET_LENGTH, "Tweet is too long bro!" );
Tweet memory newTweet = Tweet({
id: tweets[msg.sender].length,
author: msg.sender,
content: _tweet,
timestamp: block.timestamp,
likes: 0
});
tweets[msg.sender].push(newTweet);
}
function likeTweet(address author, uint256 id) external {
require(tweets[author][id].id == id, "TWEET DOES NOT EXIST");
tweets[author][id].likes++;
}
function unlikeTweet(address author, uint256 id) external {
require(tweets[author][id].id == id, "TWEET DOES NOT EXIST");
require(tweets[author][id].likes > 0, "TWEET HAS NO LIKES");
tweets[author][id].likes--;
}
function getTweet( uint _i) public view returns (Tweet memory) {
return tweets[msg.sender][_i];
}
function getAllTweets(address _owner) public view returns (Tweet[] memory ){
return tweets[_owner];
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract EventExample {
// 1️⃣ Add an event called "NewUserRegistered" with 2 arguments
// 👉 user as address type
// 👉 username as string type
event NewUserRegistered(address indexed user, string username);
struct User {
string username;
uint256 age;
}
mapping(address => User) public users;
function registerUsers(string memory _username, uint256 _age) public {
User storage newUser = users[msg.sender];
newUser.username = _username;
newUser.age = _age;
// 2️⃣ Emit the event with msg.sender and username as the inputs
emit NewUserRegistered(msg.sender, _username);
}
}
// SPDX-License-Identifier: MIT
// 1️⃣ Create Event for creating the tweet, called TweetCreated ✅
// USE parameters like id, author, content, timestamp
// 2️⃣ Emit the Event in the createTweet() function below ✅
// 3️⃣ Create Event for liking the tweet, called TweetLiked ✅
// USE parameters like liker, tweetAuthor, tweetId, newLikeCount
// 4️⃣ Emit the event in the likeTweet() function below ✅
pragma solidity ^0.8.0;
contract Twitter {
uint16 public MAX_TWEET_LENGTH = 280;
struct Tweet {
uint256 id;
address author;
string content;
uint256 timestamp;
uint256 likes;
}
mapping(address => Tweet[] ) public tweets;
address public owner;
// Define the events
event TweetCreated(uint256 id, address author, string content, uint256 timestamp);
event TweetLiked(address liker, address tweetAuthor, uint256 tweetId, uint256 newLikeCount);
event TweetUnliked(address unliker, address tweetAuthor, uint256 tweetId, uint256 newLikeCount);
constructor() {
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner, "YOU ARE NOT THE OWNER!");
_;
}
function changeTweetLength(uint16 newTweetLength) public onlyOwner {
MAX_TWEET_LENGTH = newTweetLength;
}
function createTweet(string memory _tweet) public {
require(bytes(_tweet).length <= MAX_TWEET_LENGTH, "Tweet is too long bro!" );
Tweet memory newTweet = Tweet({
id: tweets[msg.sender].length,
author: msg.sender,
content: _tweet,
timestamp: block.timestamp,
likes: 0
});
tweets[msg.sender].push(newTweet);
// Emit the TweetCreated event
emit TweetCreated(newTweet.id, newTweet.author, newTweet.content, newTweet.timestamp);
}
function likeTweet(address author, uint256 id) external {
require(tweets[author][id].id == id, "TWEET DOES NOT EXIST");
tweets[author][id].likes++;
// Emit the TweetLiked event
emit TweetLiked(msg.sender, author, id, tweets[author][id].likes);
}
function unlikeTweet(address author, uint256 id) external {
require(tweets[author][id].id == id, "TWEET DOES NOT EXIST");
require(tweets[author][id].likes > 0, "TWEET HAS NO LIKES");
tweets[author][id].likes--;
emit TweetUnliked(msg.sender, author, id, tweets[author][id].likes );
}
function getTweet( uint _i) public view returns (Tweet memory) {
return tweets[msg.sender][_i];
}
function getAllTweets(address _owner) public view returns (Tweet[] memory ){
return tweets[_owner];
}
}
// SPDX-License-Identifier: MIT
// 1️⃣ Create a loop to calcualte all expenses for the user
// HINT: Create a total expenses variable with uint type
// HINT: Loop over expenses array with for loop
// HINT: add up all expenses cost
// HINT: return total expenses
pragma solidity ^0.8.0;
contract ExpenseTracker {
struct Expense {
address user;
string description;
uint amount;
}
Expense[] public expenses;
constructor() {
expenses.push(Expense(msg.sender, "Groceries", 50));
expenses.push(Expense(msg.sender, "Transportation", 30));
expenses.push(Expense(msg.sender, "Dining out", 25));
}
function addExpense(string memory _description, uint _amount) public {
expenses.push(Expense(msg.sender, _description, _amount));
}
function getTotalExpenses(address _user) public view returns (uint) {
// Your code here
uint256 totalExpenses;
for(uint i = 0; i < expenses.length; i++){
if(expenses[i].user == _user){
totalExpenses += expenses[i].amount;
}
}
return totalExpenses;
}
}
// SPDX-License-Identifier: MIT
// 1️⃣ Create a function, getTotalLikes, to get total Tweet Likes for the user ✅
// USE parameters of author
// 2️⃣ Loop over all the tweets ✅
// 3️⃣ Sum up totalLikes ✅
// 4️⃣ Return totalLikes ✅
pragma solidity ^0.8.0;
contract Twitter {
uint16 public MAX_TWEET_LENGTH = 280;
struct Tweet {
uint256 id;
address author;
string content;
uint256 timestamp;
uint256 likes;
}
mapping(address => Tweet[] ) public tweets;
address public owner;
// Define the events
event TweetCreated(uint256 id, address author, string content, uint256 timestamp);
event TweetLiked(address liker, address tweetAuthor, uint256 tweetId, uint256 newLikeCount);
event TweetUnliked(address unliker, address tweetAuthor, uint256 tweetId, uint256 newLikeCount);
constructor() {
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner, "YOU ARE NOT THE OWNER!");
_;
}
function changeTweetLength(uint16 newTweetLength) public onlyOwner {
MAX_TWEET_LENGTH = newTweetLength;
}
function getTotalLikes(address _author) external view returns(uint) {
uint totalLikes;
for( uint i = 0; i < tweets[_author].length; i++){
totalLikes += tweets[_author][i].likes;
}
return totalLikes;
}
function createTweet(string memory _tweet) public {
require(bytes(_tweet).length <= MAX_TWEET_LENGTH, "Tweet is too long bro!" );
Tweet memory newTweet = Tweet({
id: tweets[msg.sender].length,
author: msg.sender,
content: _tweet,
timestamp: block.timestamp,
likes: 0
});
tweets[msg.sender].push(newTweet);
// Emit the TweetCreated event
emit TweetCreated(newTweet.id, newTweet.author, newTweet.content, newTweet.timestamp);
}
function likeTweet(address author, uint256 id) external {
require(tweets[author][id].id == id, "TWEET DOES NOT EXIST");
tweets[author][id].likes++;
// Emit the TweetLiked event
emit TweetLiked(msg.sender, author, id, tweets[author][id].likes);
}
function unlikeTweet(address author, uint256 id) external {
require(tweets[author][id].id == id, "TWEET DOES NOT EXIST");
require(tweets[author][id].likes > 0, "TWEET HAS NO LIKES");
tweets[author][id].likes--;
emit TweetUnliked(msg.sender, author, id, tweets[author][id].likes );
}
function getTweet( uint _i) public view returns (Tweet memory) {
return tweets[msg.sender][_i];
}
function getAllTweets(address _owner) public view returns (Tweet[] memory ){
return tweets[_owner];
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "60806040525f8055348015610012575f80fd5b506102aa806100205f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80631003e2d21461004e5780631dc05f171461006a5780636d4ce63c14610086578063c6888fa1146100a4575b5f80fd5b6100686004803603810190610063919061014d565b6100c0565b005b610084600480360381019061007f919061014d565b6100da565b005b61008e6100f4565b60405161009b9190610187565b60405180910390f35b6100be60048036038101906100b9919061014d565b6100fc565b005b805f808282546100d091906101cd565b9250508190555050565b805f808282546100ea9190610200565b9250508190555050565b5f8054905090565b805f8082825461010c9190610233565b9250508190555050565b5f80fd5b5f819050919050565b61012c8161011a565b8114610136575f80fd5b50565b5f8135905061014781610123565b92915050565b5f6020828403121561016257610161610116565b5b5f61016f84828501610139565b91505092915050565b6101818161011a565b82525050565b5f60208201905061019a5f830184610178565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6101d78261011a565b91506101e28361011a565b92508282019050808211156101fa576101f96101a0565b5b92915050565b5f61020a8261011a565b91506102158361011a565b925082820390508181111561022d5761022c6101a0565b5b92915050565b5f61023d8261011a565b91506102488361011a565b92508282026102568161011a565b9150828204841483151761026d5761026c6101a0565b5b509291505056fea2646970667358221220bcf3ca908d7f31c38dc3d2a0fae46f5c19f1d2393f52d96fce8dd1b5a00f435764736f6c63430008160033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH0 DUP1 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x12 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x2AA DUP1 PUSH2 0x20 PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1003E2D2 EQ PUSH2 0x4E JUMPI DUP1 PUSH4 0x1DC05F17 EQ PUSH2 0x6A JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x86 JUMPI DUP1 PUSH4 0xC6888FA1 EQ PUSH2 0xA4 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x68 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x63 SWAP2 SWAP1 PUSH2 0x14D JUMP JUMPDEST PUSH2 0xC0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x84 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7F SWAP2 SWAP1 PUSH2 0x14D JUMP JUMPDEST PUSH2 0xDA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8E PUSH2 0xF4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9B SWAP2 SWAP1 PUSH2 0x187 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB9 SWAP2 SWAP1 PUSH2 0x14D JUMP JUMPDEST PUSH2 0xFC JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH0 DUP1 DUP3 DUP3 SLOAD PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH0 DUP1 DUP3 DUP3 SLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0x200 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x10C SWAP2 SWAP1 PUSH2 0x233 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12C DUP2 PUSH2 0x11A JUMP JUMPDEST DUP2 EQ PUSH2 0x136 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x147 DUP2 PUSH2 0x123 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x162 JUMPI PUSH2 0x161 PUSH2 0x116 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x16F DUP5 DUP3 DUP6 ADD PUSH2 0x139 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x181 DUP2 PUSH2 0x11A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x19A PUSH0 DUP4 ADD DUP5 PUSH2 0x178 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x1D7 DUP3 PUSH2 0x11A JUMP JUMPDEST SWAP2 POP PUSH2 0x1E2 DUP4 PUSH2 0x11A JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x1FA JUMPI PUSH2 0x1F9 PUSH2 0x1A0 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x20A DUP3 PUSH2 0x11A JUMP JUMPDEST SWAP2 POP PUSH2 0x215 DUP4 PUSH2 0x11A JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x22D JUMPI PUSH2 0x22C PUSH2 0x1A0 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x23D DUP3 PUSH2 0x11A JUMP JUMPDEST SWAP2 POP PUSH2 0x248 DUP4 PUSH2 0x11A JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x256 DUP2 PUSH2 0x11A JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x26D JUMPI PUSH2 0x26C PUSH2 0x1A0 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBC RETURN 0xCA SWAP1 DUP14 PUSH32 0x31C38DC3D2A0FAE46F5C19F1D2393F52D96FCE8DD1B5A00F435764736F6C6343 STOP ADDMOD AND STOP CALLER ",
"sourceMap": "259:371:0:-:0;;;305:1;288:18;;259:371;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@add_14": {
"entryPoint": 192,
"id": 14,
"parameterSlots": 1,
"returnSlots": 0
},
"@get_42": {
"entryPoint": 244,
"id": 42,
"parameterSlots": 0,
"returnSlots": 1
},
"@multiply_34": {
"entryPoint": 252,
"id": 34,
"parameterSlots": 1,
"returnSlots": 0
},
"@subtract_24": {
"entryPoint": 218,
"id": 24,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 313,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 333,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 376,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 391,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 461,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_mul_t_uint256": {
"entryPoint": 563,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 512,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 282,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 416,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 278,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 291,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:2373:1",
"nodeType": "YulBlock",
"src": "0:2373:1",
"statements": [
{
"body": {
"nativeSrc": "47:35:1",
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nativeSrc": "57:19:1",
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "73:2:1",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "67:5:1",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nativeSrc": "67:9:1",
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "57:6:1",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "7:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "40:6:1",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nativeSrc": "177:28:1",
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "194:1:1",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "197:1:1",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "187:6:1",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "88:117:1",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nativeSrc": "300:28:1",
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "317:1:1",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "320:1:1",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "310:6:1",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "211:117:1",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nativeSrc": "379:32:1",
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nativeSrc": "389:16:1",
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nativeSrc": "400:5:1",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "389:7:1",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "334:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "361:5:1",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "371:7:1",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nativeSrc": "460:79:1",
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nativeSrc": "517:16:1",
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "526:1:1",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "529:1:1",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "519:6:1",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "483:5:1",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "508:5:1",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "490:17:1",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nativeSrc": "490:24:1",
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "480:2:1",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nativeSrc": "480:35:1",
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "473:6:1",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nativeSrc": "473:43:1",
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nativeSrc": "470:63:1",
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "417:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "453:5:1",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nativeSrc": "597:87:1",
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nativeSrc": "607:29:1",
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "629:6:1",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "616:12:1",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nativeSrc": "616:20:1",
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "607:5:1",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "672:5:1",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "645:26:1",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "545:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "575:6:1",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "583:3:1",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "591:5:1",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nativeSrc": "756:263:1",
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nativeSrc": "802:83:1",
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "804:77:1",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nativeSrc": "804:79:1",
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nativeSrc": "804:79:1",
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "777:7:1",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nativeSrc": "786:9:1",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "773:3:1",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nativeSrc": "773:23:1",
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nativeSrc": "798:2:1",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "769:3:1",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nativeSrc": "769:32:1",
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nativeSrc": "766:119:1",
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nativeSrc": "895:117:1",
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nativeSrc": "910:15:1",
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nativeSrc": "924:1:1",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "914:6:1",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nativeSrc": "939:63:1",
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "974:9:1",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nativeSrc": "985:6:1",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "970:3:1",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nativeSrc": "970:22:1",
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "994:7:1",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "949:20:1",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nativeSrc": "949:53:1",
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "939:6:1",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nativeSrc": "690:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "726:9:1",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "737:7:1",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "749:6:1",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nativeSrc": "1090:53:1",
"nodeType": "YulBlock",
"src": "1090:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1107:3:1",
"nodeType": "YulIdentifier",
"src": "1107:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1130:5:1",
"nodeType": "YulIdentifier",
"src": "1130:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1112:17:1",
"nodeType": "YulIdentifier",
"src": "1112:17:1"
},
"nativeSrc": "1112:24:1",
"nodeType": "YulFunctionCall",
"src": "1112:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1100:6:1",
"nodeType": "YulIdentifier",
"src": "1100:6:1"
},
"nativeSrc": "1100:37:1",
"nodeType": "YulFunctionCall",
"src": "1100:37:1"
},
"nativeSrc": "1100:37:1",
"nodeType": "YulExpressionStatement",
"src": "1100:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1025:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1078:5:1",
"nodeType": "YulTypedName",
"src": "1078:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1085:3:1",
"nodeType": "YulTypedName",
"src": "1085:3:1",
"type": ""
}
],
"src": "1025:118:1"
},
{
"body": {
"nativeSrc": "1247:124:1",
"nodeType": "YulBlock",
"src": "1247:124:1",
"statements": [
{
"nativeSrc": "1257:26:1",
"nodeType": "YulAssignment",
"src": "1257:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1269:9:1",
"nodeType": "YulIdentifier",
"src": "1269:9:1"
},
{
"kind": "number",
"nativeSrc": "1280:2:1",
"nodeType": "YulLiteral",
"src": "1280:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1265:3:1",
"nodeType": "YulIdentifier",
"src": "1265:3:1"
},
"nativeSrc": "1265:18:1",
"nodeType": "YulFunctionCall",
"src": "1265:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1257:4:1",
"nodeType": "YulIdentifier",
"src": "1257:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1337:6:1",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1350:9:1",
"nodeType": "YulIdentifier",
"src": "1350:9:1"
},
{
"kind": "number",
"nativeSrc": "1361:1:1",
"nodeType": "YulLiteral",
"src": "1361:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1346:3:1",
"nodeType": "YulIdentifier",
"src": "1346:3:1"
},
"nativeSrc": "1346:17:1",
"nodeType": "YulFunctionCall",
"src": "1346:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1293:43:1",
"nodeType": "YulIdentifier",
"src": "1293:43:1"
},
"nativeSrc": "1293:71:1",
"nodeType": "YulFunctionCall",
"src": "1293:71:1"
},
"nativeSrc": "1293:71:1",
"nodeType": "YulExpressionStatement",
"src": "1293:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "1149:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1219:9:1",
"nodeType": "YulTypedName",
"src": "1219:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1231:6:1",
"nodeType": "YulTypedName",
"src": "1231:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1242:4:1",
"nodeType": "YulTypedName",
"src": "1242:4:1",
"type": ""
}
],
"src": "1149:222:1"
},
{
"body": {
"nativeSrc": "1405:152:1",
"nodeType": "YulBlock",
"src": "1405:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1422:1:1",
"nodeType": "YulLiteral",
"src": "1422:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1425:77:1",
"nodeType": "YulLiteral",
"src": "1425:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1415:6:1",
"nodeType": "YulIdentifier",
"src": "1415:6:1"
},
"nativeSrc": "1415:88:1",
"nodeType": "YulFunctionCall",
"src": "1415:88:1"
},
"nativeSrc": "1415:88:1",
"nodeType": "YulExpressionStatement",
"src": "1415:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1519:1:1",
"nodeType": "YulLiteral",
"src": "1519:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1522:4:1",
"nodeType": "YulLiteral",
"src": "1522:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1512:6:1",
"nodeType": "YulIdentifier",
"src": "1512:6:1"
},
"nativeSrc": "1512:15:1",
"nodeType": "YulFunctionCall",
"src": "1512:15:1"
},
"nativeSrc": "1512:15:1",
"nodeType": "YulExpressionStatement",
"src": "1512:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1543:1:1",
"nodeType": "YulLiteral",
"src": "1543:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1546:4:1",
"nodeType": "YulLiteral",
"src": "1546:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1536:6:1",
"nodeType": "YulIdentifier",
"src": "1536:6:1"
},
"nativeSrc": "1536:15:1",
"nodeType": "YulFunctionCall",
"src": "1536:15:1"
},
"nativeSrc": "1536:15:1",
"nodeType": "YulExpressionStatement",
"src": "1536:15:1"
}
]
},
"name": "panic_error_0x11",
"nativeSrc": "1377:180:1",
"nodeType": "YulFunctionDefinition",
"src": "1377:180:1"
},
{
"body": {
"nativeSrc": "1607:147:1",
"nodeType": "YulBlock",
"src": "1607:147:1",
"statements": [
{
"nativeSrc": "1617:25:1",
"nodeType": "YulAssignment",
"src": "1617:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1640:1:1",
"nodeType": "YulIdentifier",
"src": "1640:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1622:17:1",
"nodeType": "YulIdentifier",
"src": "1622:17:1"
},
"nativeSrc": "1622:20:1",
"nodeType": "YulFunctionCall",
"src": "1622:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "1617:1:1",
"nodeType": "YulIdentifier",
"src": "1617:1:1"
}
]
},
{
"nativeSrc": "1651:25:1",
"nodeType": "YulAssignment",
"src": "1651:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "1674:1:1",
"nodeType": "YulIdentifier",
"src": "1674:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1656:17:1",
"nodeType": "YulIdentifier",
"src": "1656:17:1"
},
"nativeSrc": "1656:20:1",
"nodeType": "YulFunctionCall",
"src": "1656:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "1651:1:1",
"nodeType": "YulIdentifier",
"src": "1651:1:1"
}
]
},
{
"nativeSrc": "1685:16:1",
"nodeType": "YulAssignment",
"src": "1685:16:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1696:1:1",
"nodeType": "YulIdentifier",
"src": "1696:1:1"
},
{
"name": "y",
"nativeSrc": "1699:1:1",
"nodeType": "YulIdentifier",
"src": "1699:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1692:3:1",
"nodeType": "YulIdentifier",
"src": "1692:3:1"
},
"nativeSrc": "1692:9:1",
"nodeType": "YulFunctionCall",
"src": "1692:9:1"
},
"variableNames": [
{
"name": "sum",
"nativeSrc": "1685:3:1",
"nodeType": "YulIdentifier",
"src": "1685:3:1"
}
]
},
{
"body": {
"nativeSrc": "1725:22:1",
"nodeType": "YulBlock",
"src": "1725:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "1727:16:1",
"nodeType": "YulIdentifier",
"src": "1727:16:1"
},
"nativeSrc": "1727:18:1",
"nodeType": "YulFunctionCall",
"src": "1727:18:1"
},
"nativeSrc": "1727:18:1",
"nodeType": "YulExpressionStatement",
"src": "1727:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nativeSrc": "1717:1:1",
"nodeType": "YulIdentifier",
"src": "1717:1:1"
},
{
"name": "sum",
"nativeSrc": "1720:3:1",
"nodeType": "YulIdentifier",
"src": "1720:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1714:2:1",
"nodeType": "YulIdentifier",
"src": "1714:2:1"
},
"nativeSrc": "1714:10:1",
"nodeType": "YulFunctionCall",
"src": "1714:10:1"
},
"nativeSrc": "1711:36:1",
"nodeType": "YulIf",
"src": "1711:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nativeSrc": "1563:191:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "1594:1:1",
"nodeType": "YulTypedName",
"src": "1594:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "1597:1:1",
"nodeType": "YulTypedName",
"src": "1597:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nativeSrc": "1603:3:1",
"nodeType": "YulTypedName",
"src": "1603:3:1",
"type": ""
}
],
"src": "1563:191:1"
},
{
"body": {
"nativeSrc": "1805:149:1",
"nodeType": "YulBlock",
"src": "1805:149:1",
"statements": [
{
"nativeSrc": "1815:25:1",
"nodeType": "YulAssignment",
"src": "1815:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1838:1:1",
"nodeType": "YulIdentifier",
"src": "1838:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1820:17:1",
"nodeType": "YulIdentifier",
"src": "1820:17:1"
},
"nativeSrc": "1820:20:1",
"nodeType": "YulFunctionCall",
"src": "1820:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "1815:1:1",
"nodeType": "YulIdentifier",
"src": "1815:1:1"
}
]
},
{
"nativeSrc": "1849:25:1",
"nodeType": "YulAssignment",
"src": "1849:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "1872:1:1",
"nodeType": "YulIdentifier",
"src": "1872:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1854:17:1",
"nodeType": "YulIdentifier",
"src": "1854:17:1"
},
"nativeSrc": "1854:20:1",
"nodeType": "YulFunctionCall",
"src": "1854:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "1849:1:1",
"nodeType": "YulIdentifier",
"src": "1849:1:1"
}
]
},
{
"nativeSrc": "1883:17:1",
"nodeType": "YulAssignment",
"src": "1883:17:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1895:1:1",
"nodeType": "YulIdentifier",
"src": "1895:1:1"
},
{
"name": "y",
"nativeSrc": "1898:1:1",
"nodeType": "YulIdentifier",
"src": "1898:1:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1891:3:1",
"nodeType": "YulIdentifier",
"src": "1891:3:1"
},
"nativeSrc": "1891:9:1",
"nodeType": "YulFunctionCall",
"src": "1891:9:1"
},
"variableNames": [
{
"name": "diff",
"nativeSrc": "1883:4:1",
"nodeType": "YulIdentifier",
"src": "1883:4:1"
}
]
},
{
"body": {
"nativeSrc": "1925:22:1",
"nodeType": "YulBlock",
"src": "1925:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "1927:16:1",
"nodeType": "YulIdentifier",
"src": "1927:16:1"
},
"nativeSrc": "1927:18:1",
"nodeType": "YulFunctionCall",
"src": "1927:18:1"
},
"nativeSrc": "1927:18:1",
"nodeType": "YulExpressionStatement",
"src": "1927:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nativeSrc": "1916:4:1",
"nodeType": "YulIdentifier",
"src": "1916:4:1"
},
{
"name": "x",
"nativeSrc": "1922:1:1",
"nodeType": "YulIdentifier",
"src": "1922:1:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1913:2:1",
"nodeType": "YulIdentifier",
"src": "1913:2:1"
},
"nativeSrc": "1913:11:1",
"nodeType": "YulFunctionCall",
"src": "1913:11:1"
},
"nativeSrc": "1910:37:1",
"nodeType": "YulIf",
"src": "1910:37:1"
}
]
},
"name": "checked_sub_t_uint256",
"nativeSrc": "1760:194:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "1791:1:1",
"nodeType": "YulTypedName",
"src": "1791:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "1794:1:1",
"nodeType": "YulTypedName",
"src": "1794:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nativeSrc": "1800:4:1",
"nodeType": "YulTypedName",
"src": "1800:4:1",
"type": ""
}
],
"src": "1760:194:1"
},
{
"body": {
"nativeSrc": "2008:362:1",
"nodeType": "YulBlock",
"src": "2008:362:1",
"statements": [
{
"nativeSrc": "2018:25:1",
"nodeType": "YulAssignment",
"src": "2018:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "2041:1:1",
"nodeType": "YulIdentifier",
"src": "2041:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "2023:17:1",
"nodeType": "YulIdentifier",
"src": "2023:17:1"
},
"nativeSrc": "2023:20:1",
"nodeType": "YulFunctionCall",
"src": "2023:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "2018:1:1",
"nodeType": "YulIdentifier",
"src": "2018:1:1"
}
]
},
{
"nativeSrc": "2052:25:1",
"nodeType": "YulAssignment",
"src": "2052:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "2075:1:1",
"nodeType": "YulIdentifier",
"src": "2075:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "2057:17:1",
"nodeType": "YulIdentifier",
"src": "2057:17:1"
},
"nativeSrc": "2057:20:1",
"nodeType": "YulFunctionCall",
"src": "2057:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "2052:1:1",
"nodeType": "YulIdentifier",
"src": "2052:1:1"
}
]
},
{
"nativeSrc": "2086:28:1",
"nodeType": "YulVariableDeclaration",
"src": "2086:28:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "2109:1:1",
"nodeType": "YulIdentifier",
"src": "2109:1:1"
},
{
"name": "y",
"nativeSrc": "2112:1:1",
"nodeType": "YulIdentifier",
"src": "2112:1:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "2105:3:1",
"nodeType": "YulIdentifier",
"src": "2105:3:1"
},
"nativeSrc": "2105:9:1",
"nodeType": "YulFunctionCall",
"src": "2105:9:1"
},
"variables": [
{
"name": "product_raw",
"nativeSrc": "2090:11:1",
"nodeType": "YulTypedName",
"src": "2090:11:1",
"type": ""
}
]
},
{
"nativeSrc": "2123:41:1",
"nodeType": "YulAssignment",
"src": "2123:41:1",
"value": {
"arguments": [
{
"name": "product_raw",
"nativeSrc": "2152:11:1",
"nodeType": "YulIdentifier",
"src": "2152:11:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "2134:17:1",
"nodeType": "YulIdentifier",
"src": "2134:17:1"
},
"nativeSrc": "2134:30:1",
"nodeType": "YulFunctionCall",
"src": "2134:30:1"
},
"variableNames": [
{
"name": "product",
"nativeSrc": "2123:7:1",
"nodeType": "YulIdentifier",
"src": "2123:7:1"
}
]
},
{
"body": {
"nativeSrc": "2341:22:1",
"nodeType": "YulBlock",
"src": "2341:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "2343:16:1",
"nodeType": "YulIdentifier",
"src": "2343:16:1"
},
"nativeSrc": "2343:18:1",
"nodeType": "YulFunctionCall",
"src": "2343:18:1"
},
"nativeSrc": "2343:18:1",
"nodeType": "YulExpressionStatement",
"src": "2343:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "x",
"nativeSrc": "2274:1:1",
"nodeType": "YulIdentifier",
"src": "2274:1:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2267:6:1",
"nodeType": "YulIdentifier",
"src": "2267:6:1"
},
"nativeSrc": "2267:9:1",
"nodeType": "YulFunctionCall",
"src": "2267:9:1"
},
{
"arguments": [
{
"name": "y",
"nativeSrc": "2297:1:1",
"nodeType": "YulIdentifier",
"src": "2297:1:1"
},
{
"arguments": [
{
"name": "product",
"nativeSrc": "2304:7:1",
"nodeType": "YulIdentifier",
"src": "2304:7:1"
},
{
"name": "x",
"nativeSrc": "2313:1:1",
"nodeType": "YulIdentifier",
"src": "2313:1:1"
}
],
"functionName": {
"name": "div",
"nativeSrc": "2300:3:1",
"nodeType": "YulIdentifier",
"src": "2300:3:1"
},
"nativeSrc": "2300:15:1",
"nodeType": "YulFunctionCall",
"src": "2300:15:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "2294:2:1",
"nodeType": "YulIdentifier",
"src": "2294:2:1"
},
"nativeSrc": "2294:22:1",
"nodeType": "YulFunctionCall",
"src": "2294:22:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "2247:2:1",
"nodeType": "YulIdentifier",
"src": "2247:2:1"
},
"nativeSrc": "2247:83:1",
"nodeType": "YulFunctionCall",
"src": "2247:83:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "2227:6:1",
"nodeType": "YulIdentifier",
"src": "2227:6:1"
},
"nativeSrc": "2227:113:1",
"nodeType": "YulFunctionCall",
"src": "2227:113:1"
},
"nativeSrc": "2224:139:1",
"nodeType": "YulIf",
"src": "2224:139:1"
}
]
},
"name": "checked_mul_t_uint256",
"nativeSrc": "1960:410:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "1991:1:1",
"nodeType": "YulTypedName",
"src": "1991:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "1994:1:1",
"nodeType": "YulTypedName",
"src": "1994:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "product",
"nativeSrc": "2000:7:1",
"nodeType": "YulTypedName",
"src": "2000:7:1",
"type": ""
}
],
"src": "1960:410:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_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 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 checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n let product_raw := mul(x, y)\n product := cleanup_t_uint256(product_raw)\n\n // overflow, if x != 0 and y != product/x\n if iszero(\n or(\n iszero(x),\n eq(y, div(product, x))\n )\n ) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b506004361061004a575f3560e01c80631003e2d21461004e5780631dc05f171461006a5780636d4ce63c14610086578063c6888fa1146100a4575b5f80fd5b6100686004803603810190610063919061014d565b6100c0565b005b610084600480360381019061007f919061014d565b6100da565b005b61008e6100f4565b60405161009b9190610187565b60405180910390f35b6100be60048036038101906100b9919061014d565b6100fc565b005b805f808282546100d091906101cd565b9250508190555050565b805f808282546100ea9190610200565b9250508190555050565b5f8054905090565b805f8082825461010c9190610233565b9250508190555050565b5f80fd5b5f819050919050565b61012c8161011a565b8114610136575f80fd5b50565b5f8135905061014781610123565b92915050565b5f6020828403121561016257610161610116565b5b5f61016f84828501610139565b91505092915050565b6101818161011a565b82525050565b5f60208201905061019a5f830184610178565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6101d78261011a565b91506101e28361011a565b92508282019050808211156101fa576101f96101a0565b5b92915050565b5f61020a8261011a565b91506102158361011a565b925082820390508181111561022d5761022c6101a0565b5b92915050565b5f61023d8261011a565b91506102488361011a565b92508282026102568161011a565b9150828204841483151761026d5761026c6101a0565b5b509291505056fea2646970667358221220bcf3ca908d7f31c38dc3d2a0fae46f5c19f1d2393f52d96fce8dd1b5a00f435764736f6c63430008160033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x1003E2D2 EQ PUSH2 0x4E JUMPI DUP1 PUSH4 0x1DC05F17 EQ PUSH2 0x6A JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x86 JUMPI DUP1 PUSH4 0xC6888FA1 EQ PUSH2 0xA4 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x68 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x63 SWAP2 SWAP1 PUSH2 0x14D JUMP JUMPDEST PUSH2 0xC0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x84 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x7F SWAP2 SWAP1 PUSH2 0x14D JUMP JUMPDEST PUSH2 0xDA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8E PUSH2 0xF4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x9B SWAP2 SWAP1 PUSH2 0x187 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB9 SWAP2 SWAP1 PUSH2 0x14D JUMP JUMPDEST PUSH2 0xFC JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH0 DUP1 DUP3 DUP3 SLOAD PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x1CD JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH0 DUP1 DUP3 DUP3 SLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0x200 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH0 DUP1 DUP3 DUP3 SLOAD PUSH2 0x10C SWAP2 SWAP1 PUSH2 0x233 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x12C DUP2 PUSH2 0x11A JUMP JUMPDEST DUP2 EQ PUSH2 0x136 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x147 DUP2 PUSH2 0x123 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x162 JUMPI PUSH2 0x161 PUSH2 0x116 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x16F DUP5 DUP3 DUP6 ADD PUSH2 0x139 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x181 DUP2 PUSH2 0x11A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x19A PUSH0 DUP4 ADD DUP5 PUSH2 0x178 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x1D7 DUP3 PUSH2 0x11A JUMP JUMPDEST SWAP2 POP PUSH2 0x1E2 DUP4 PUSH2 0x11A JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x1FA JUMPI PUSH2 0x1F9 PUSH2 0x1A0 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x20A DUP3 PUSH2 0x11A JUMP JUMPDEST SWAP2 POP PUSH2 0x215 DUP4 PUSH2 0x11A JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x22D JUMPI PUSH2 0x22C PUSH2 0x1A0 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x23D DUP3 PUSH2 0x11A JUMP JUMPDEST SWAP2 POP PUSH2 0x248 DUP4 PUSH2 0x11A JUMP JUMPDEST SWAP3 POP DUP3 DUP3 MUL PUSH2 0x256 DUP2 PUSH2 0x11A JUMP JUMPDEST SWAP2 POP DUP3 DUP3 DIV DUP5 EQ DUP4 ISZERO OR PUSH2 0x26D JUMPI PUSH2 0x26C PUSH2 0x1A0 JUMP JUMPDEST JUMPDEST POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xBC RETURN 0xCA SWAP1 DUP14 PUSH32 0x31C38DC3D2A0FAE46F5C19F1D2393F52D96FCE8DD1B5A00F435764736F6C6343 STOP ADDMOD AND STOP CALLER ",
"sourceMap": "259:371:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;315:68;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;391:70;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;547:78;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;469:70;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;315:68;372:3;362:6;;:13;;;;;;;:::i;:::-;;;;;;;;315:68;:::o;391:70::-;450:3;440:6;;:13;;;;;;;:::i;:::-;;;;;;;;391:70;:::o;547:78::-;584:7;611:6;;604:13;;547:78;:::o;469:70::-;528:3;518:6;;:13;;;;;;;:::i;:::-;;;;;;;;469:70;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:180::-;1425:77;1422:1;1415:88;1522:4;1519:1;1512:15;1546:4;1543:1;1536:15;1563:191;1603:3;1622:20;1640:1;1622:20;:::i;:::-;1617:25;;1656:20;1674:1;1656:20;:::i;:::-;1651:25;;1699:1;1696;1692:9;1685:16;;1720:3;1717:1;1714:10;1711:36;;;1727:18;;:::i;:::-;1711:36;1563:191;;;;:::o;1760:194::-;1800:4;1820:20;1838:1;1820:20;:::i;:::-;1815:25;;1854:20;1872:1;1854:20;:::i;:::-;1849:25;;1898:1;1895;1891:9;1883:17;;1922:1;1916:4;1913:11;1910:37;;;1927:18;;:::i;:::-;1910:37;1760:194;;;;:::o;1960:410::-;2000:7;2023:20;2041:1;2023:20;:::i;:::-;2018:25;;2057:20;2075:1;2057:20;:::i;:::-;2052:25;;2112:1;2109;2105:9;2134:30;2152:11;2134:30;:::i;:::-;2123:41;;2313:1;2304:7;2300:15;2297:1;2294:22;2274:1;2267:9;2247:83;2224:139;;2343:18;;:::i;:::-;2224:139;2008:362;1960:410;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "136400",
"executionCost": "5186",
"totalCost": "141586"
},
"external": {
"add(uint256)": "infinite",
"get()": "2454",
"multiply(uint256)": "infinite",
"subtract(uint256)": "infinite"
}
},
"methodIdentifiers": {
"add(uint256)": "1003e2d2",
"get()": "6d4ce63c",
"multiply(uint256)": "c6888fa1",
"subtract(uint256)": "1dc05f17"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "num",
"type": "uint256"
}
],
"name": "add",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num",
"type": "uint256"
}
],
"name": "multiply",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num",
"type": "uint256"
}
],
"name": "subtract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.22+commit.4fc1097e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "num",
"type": "uint256"
}
],
"name": "add",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num",
"type": "uint256"
}
],
"name": "multiply",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "num",
"type": "uint256"
}
],
"name": "subtract",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/calculator.sol": "Calculator"
},
"evmVersion": "shanghai",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/calculator.sol": {
"keccak256": "0xfcb4339f00b34f085f04ea3c86fca0a48461cce508676749c6827fe5b0e385d9",
"license": "MIT",
"urls": [
"bzz-raw://e1f02b29e1a929fe61a95cc768fa5b4789894a5bd32ae0dd2d6f46fdc2da7239",
"dweb:/ipfs/QmNT6Ao4WjmnDZsUGyzLZgc1f9Bi2118eddrkW6zGP2vmQ"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_49": {
"entryPoint": null,
"id": 49,
"parameterSlots": 0,
"returnSlots": 0
},
"array_dataslot_t_string_storage": {
"entryPoint": 913,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 761,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 1222,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 1043,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 1184,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 1061,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 1373,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 931,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 861,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 1344,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 1052,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 1314,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 816,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 771,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 1100,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 946,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 1302,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 1156,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 958,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 1109,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 1152,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:5231:1",
"nodeType": "YulBlock",
"src": "0:5231:1",
"statements": [
{
"body": {
"nativeSrc": "66:40:1",
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nativeSrc": "77:22:1",
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:1",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:1",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nativeSrc": "87:12:1",
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:1",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:1",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:1",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nativeSrc": "140:152:1",
"nodeType": "YulBlock",
"src": "140:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "157:1:1",
"nodeType": "YulLiteral",
"src": "157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "160:77:1",
"nodeType": "YulLiteral",
"src": "160:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "150:6:1",
"nodeType": "YulIdentifier",
"src": "150:6:1"
},
"nativeSrc": "150:88:1",
"nodeType": "YulFunctionCall",
"src": "150:88:1"
},
"nativeSrc": "150:88:1",
"nodeType": "YulExpressionStatement",
"src": "150:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "254:1:1",
"nodeType": "YulLiteral",
"src": "254:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "257:4:1",
"nodeType": "YulLiteral",
"src": "257:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "247:6:1",
"nodeType": "YulIdentifier",
"src": "247:6:1"
},
"nativeSrc": "247:15:1",
"nodeType": "YulFunctionCall",
"src": "247:15:1"
},
"nativeSrc": "247:15:1",
"nodeType": "YulExpressionStatement",
"src": "247:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "278:1:1",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "281:4:1",
"nodeType": "YulLiteral",
"src": "281:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "271:6:1",
"nodeType": "YulIdentifier",
"src": "271:6:1"
},
"nativeSrc": "271:15:1",
"nodeType": "YulFunctionCall",
"src": "271:15:1"
},
"nativeSrc": "271:15:1",
"nodeType": "YulExpressionStatement",
"src": "271:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "112:180:1",
"nodeType": "YulFunctionDefinition",
"src": "112:180:1"
},
{
"body": {
"nativeSrc": "326:152:1",
"nodeType": "YulBlock",
"src": "326:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "343:1:1",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "346:77:1",
"nodeType": "YulLiteral",
"src": "346:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "336:6:1",
"nodeType": "YulIdentifier",
"src": "336:6:1"
},
"nativeSrc": "336:88:1",
"nodeType": "YulFunctionCall",
"src": "336:88:1"
},
"nativeSrc": "336:88:1",
"nodeType": "YulExpressionStatement",
"src": "336:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "440:1:1",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "443:4:1",
"nodeType": "YulLiteral",
"src": "443:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "433:6:1",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nativeSrc": "433:15:1",
"nodeType": "YulFunctionCall",
"src": "433:15:1"
},
"nativeSrc": "433:15:1",
"nodeType": "YulExpressionStatement",
"src": "433:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "464:1:1",
"nodeType": "YulLiteral",
"src": "464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "467:4:1",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "457:6:1",
"nodeType": "YulIdentifier",
"src": "457:6:1"
},
"nativeSrc": "457:15:1",
"nodeType": "YulFunctionCall",
"src": "457:15:1"
},
"nativeSrc": "457:15:1",
"nodeType": "YulExpressionStatement",
"src": "457:15:1"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "298:180:1",
"nodeType": "YulFunctionDefinition",
"src": "298:180:1"
},
{
"body": {
"nativeSrc": "535:269:1",
"nodeType": "YulBlock",
"src": "535:269:1",
"statements": [
{
"nativeSrc": "545:22:1",
"nodeType": "YulAssignment",
"src": "545:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "559:4:1",
"nodeType": "YulIdentifier",
"src": "559:4:1"
},
{
"kind": "number",
"nativeSrc": "565:1:1",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "555:3:1",
"nodeType": "YulIdentifier",
"src": "555:3:1"
},
"nativeSrc": "555:12:1",
"nodeType": "YulFunctionCall",
"src": "555:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "545:6:1",
"nodeType": "YulIdentifier",
"src": "545:6:1"
}
]
},
{
"nativeSrc": "576:38:1",
"nodeType": "YulVariableDeclaration",
"src": "576:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "606:4:1",
"nodeType": "YulIdentifier",
"src": "606:4:1"
},
{
"kind": "number",
"nativeSrc": "612:1:1",
"nodeType": "YulLiteral",
"src": "612:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "602:3:1",
"nodeType": "YulIdentifier",
"src": "602:3:1"
},
"nativeSrc": "602:12:1",
"nodeType": "YulFunctionCall",
"src": "602:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "580:18:1",
"nodeType": "YulTypedName",
"src": "580:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "653:51:1",
"nodeType": "YulBlock",
"src": "653:51:1",
"statements": [
{
"nativeSrc": "667:27:1",
"nodeType": "YulAssignment",
"src": "667:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "681:6:1",
"nodeType": "YulIdentifier",
"src": "681:6:1"
},
{
"kind": "number",
"nativeSrc": "689:4:1",
"nodeType": "YulLiteral",
"src": "689:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "677:3:1",
"nodeType": "YulIdentifier",
"src": "677:3:1"
},
"nativeSrc": "677:17:1",
"nodeType": "YulFunctionCall",
"src": "677:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "667:6:1",
"nodeType": "YulIdentifier",
"src": "667:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "633:18:1",
"nodeType": "YulIdentifier",
"src": "633:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "626:6:1",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
"nativeSrc": "626:26:1",
"nodeType": "YulFunctionCall",
"src": "626:26:1"
},
"nativeSrc": "623:81:1",
"nodeType": "YulIf",
"src": "623:81:1"
},
{
"body": {
"nativeSrc": "756:42:1",
"nodeType": "YulBlock",
"src": "756:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "770:16:1",
"nodeType": "YulIdentifier",
"src": "770:16:1"
},
"nativeSrc": "770:18:1",
"nodeType": "YulFunctionCall",
"src": "770:18:1"
},
"nativeSrc": "770:18:1",
"nodeType": "YulExpressionStatement",
"src": "770:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "720:18:1",
"nodeType": "YulIdentifier",
"src": "720:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "743:6:1",
"nodeType": "YulIdentifier",
"src": "743:6:1"
},
{
"kind": "number",
"nativeSrc": "751:2:1",
"nodeType": "YulLiteral",
"src": "751:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "740:2:1",
"nodeType": "YulIdentifier",
"src": "740:2:1"
},
"nativeSrc": "740:14:1",
"nodeType": "YulFunctionCall",
"src": "740:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "717:2:1",
"nodeType": "YulIdentifier",
"src": "717:2:1"
},
"nativeSrc": "717:38:1",
"nodeType": "YulFunctionCall",
"src": "717:38:1"
},
"nativeSrc": "714:84:1",
"nodeType": "YulIf",
"src": "714:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "484:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "519:4:1",
"nodeType": "YulTypedName",
"src": "519:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "528:6:1",
"nodeType": "YulTypedName",
"src": "528:6:1",
"type": ""
}
],
"src": "484:320:1"
},
{
"body": {
"nativeSrc": "864:87:1",
"nodeType": "YulBlock",
"src": "864:87:1",
"statements": [
{
"nativeSrc": "874:11:1",
"nodeType": "YulAssignment",
"src": "874:11:1",
"value": {
"name": "ptr",
"nativeSrc": "882:3:1",
"nodeType": "YulIdentifier",
"src": "882:3:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "874:4:1",
"nodeType": "YulIdentifier",
"src": "874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "902:1:1",
"nodeType": "YulLiteral",
"src": "902:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nativeSrc": "905:3:1",
"nodeType": "YulIdentifier",
"src": "905:3:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "895:6:1",
"nodeType": "YulIdentifier",
"src": "895:6:1"
},
"nativeSrc": "895:14:1",
"nodeType": "YulFunctionCall",
"src": "895:14:1"
},
"nativeSrc": "895:14:1",
"nodeType": "YulExpressionStatement",
"src": "895:14:1"
},
{
"nativeSrc": "918:26:1",
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "936:1:1",
"nodeType": "YulLiteral",
"src": "936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "939:4:1",
"nodeType": "YulLiteral",
"src": "939:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nativeSrc": "926:9:1",
"nodeType": "YulIdentifier",
"src": "926:9:1"
},
"nativeSrc": "926:18:1",
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "918:4:1",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nativeSrc": "810:141:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "851:3:1",
"nodeType": "YulTypedName",
"src": "851:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "859:4:1",
"nodeType": "YulTypedName",
"src": "859:4:1",
"type": ""
}
],
"src": "810:141:1"
},
{
"body": {
"nativeSrc": "1001:49:1",
"nodeType": "YulBlock",
"src": "1001:49:1",
"statements": [
{
"nativeSrc": "1011:33:1",
"nodeType": "YulAssignment",
"src": "1011:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1029:5:1",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
},
{
"kind": "number",
"nativeSrc": "1036:2:1",
"nodeType": "YulLiteral",
"src": "1036:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1025:3:1",
"nodeType": "YulIdentifier",
"src": "1025:3:1"
},
"nativeSrc": "1025:14:1",
"nodeType": "YulFunctionCall",
"src": "1025:14:1"
},
{
"kind": "number",
"nativeSrc": "1041:2:1",
"nodeType": "YulLiteral",
"src": "1041:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nativeSrc": "1021:3:1",
"nodeType": "YulIdentifier",
"src": "1021:3:1"
},
"nativeSrc": "1021:23:1",
"nodeType": "YulFunctionCall",
"src": "1021:23:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1011:6:1",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nativeSrc": "957:93:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "984:5:1",
"nodeType": "YulTypedName",
"src": "984:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "994:6:1",
"nodeType": "YulTypedName",
"src": "994:6:1",
"type": ""
}
],
"src": "957:93:1"
},
{
"body": {
"nativeSrc": "1109:54:1",
"nodeType": "YulBlock",
"src": "1109:54:1",
"statements": [
{
"nativeSrc": "1119:37:1",
"nodeType": "YulAssignment",
"src": "1119:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "1144:4:1",
"nodeType": "YulIdentifier",
"src": "1144:4:1"
},
{
"name": "value",
"nativeSrc": "1150:5:1",
"nodeType": "YulIdentifier",
"src": "1150:5:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "1140:3:1",
"nodeType": "YulIdentifier",
"src": "1140:3:1"
},
"nativeSrc": "1140:16:1",
"nodeType": "YulFunctionCall",
"src": "1140:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "1119:8:1",
"nodeType": "YulIdentifier",
"src": "1119:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nativeSrc": "1056:107:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "1084:4:1",
"nodeType": "YulTypedName",
"src": "1084:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "1090:5:1",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "1100:8:1",
"nodeType": "YulTypedName",
"src": "1100:8:1",
"type": ""
}
],
"src": "1056:107:1"
},
{
"body": {
"nativeSrc": "1245:317:1",
"nodeType": "YulBlock",
"src": "1245:317:1",
"statements": [
{
"nativeSrc": "1255:35:1",
"nodeType": "YulVariableDeclaration",
"src": "1255:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nativeSrc": "1276:10:1",
"nodeType": "YulIdentifier",
"src": "1276:10:1"
},
{
"kind": "number",
"nativeSrc": "1288:1:1",
"nodeType": "YulLiteral",
"src": "1288:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "1272:3:1",
"nodeType": "YulIdentifier",
"src": "1272:3:1"
},
"nativeSrc": "1272:18:1",
"nodeType": "YulFunctionCall",
"src": "1272:18:1"
},
"variables": [
{
"name": "shiftBits",
"nativeSrc": "1259:9:1",
"nodeType": "YulTypedName",
"src": "1259:9:1",
"type": ""
}
]
},
{
"nativeSrc": "1299:109:1",
"nodeType": "YulVariableDeclaration",
"src": "1299:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "1330:9:1",
"nodeType": "YulIdentifier",
"src": "1330:9:1"
},
{
"kind": "number",
"nativeSrc": "1341:66:1",
"nodeType": "YulLiteral",
"src": "1341:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "1311:18:1",
"nodeType": "YulIdentifier",
"src": "1311:18:1"
},
"nativeSrc": "1311:97:1",
"nodeType": "YulFunctionCall",
"src": "1311:97:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "1303:4:1",
"nodeType": "YulTypedName",
"src": "1303:4:1",
"type": ""
}
]
},
{
"nativeSrc": "1417:51:1",
"nodeType": "YulAssignment",
"src": "1417:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "1448:9:1",
"nodeType": "YulIdentifier",
"src": "1448:9:1"
},
{
"name": "toInsert",
"nativeSrc": "1459:8:1",
"nodeType": "YulIdentifier",
"src": "1459:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "1429:18:1",
"nodeType": "YulIdentifier",
"src": "1429:18:1"
},
"nativeSrc": "1429:39:1",
"nodeType": "YulFunctionCall",
"src": "1429:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nativeSrc": "1417:8:1",
"nodeType": "YulIdentifier",
"src": "1417:8:1"
}
]
},
{
"nativeSrc": "1477:30:1",
"nodeType": "YulAssignment",
"src": "1477:30:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1490:5:1",
"nodeType": "YulIdentifier",
"src": "1490:5:1"
},
{
"arguments": [
{
"name": "mask",
"nativeSrc": "1501:4:1",
"nodeType": "YulIdentifier",
"src": "1501:4:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1497:3:1",
"nodeType": "YulIdentifier",
"src": "1497:3:1"
},
"nativeSrc": "1497:9:1",
"nodeType": "YulFunctionCall",
"src": "1497:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1486:3:1",
"nodeType": "YulIdentifier",
"src": "1486:3:1"
},
"nativeSrc": "1486:21:1",
"nodeType": "YulFunctionCall",
"src": "1486:21:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "1477:5:1",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"nativeSrc": "1516:40:1",
"nodeType": "YulAssignment",
"src": "1516:40:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1529:5:1",
"nodeType": "YulIdentifier",
"src": "1529:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nativeSrc": "1540:8:1",
"nodeType": "YulIdentifier",
"src": "1540:8:1"
},
{
"name": "mask",
"nativeSrc": "1550:4:1",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1536:3:1",
"nodeType": "YulIdentifier",
"src": "1536:3:1"
},
"nativeSrc": "1536:19:1",
"nodeType": "YulFunctionCall",
"src": "1536:19:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "1526:2:1",
"nodeType": "YulIdentifier",
"src": "1526:2:1"
},
"nativeSrc": "1526:30:1",
"nodeType": "YulFunctionCall",
"src": "1526:30:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1516:6:1",
"nodeType": "YulIdentifier",
"src": "1516:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nativeSrc": "1169:393:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1206:5:1",
"nodeType": "YulTypedName",
"src": "1206:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nativeSrc": "1213:10:1",
"nodeType": "YulTypedName",
"src": "1213:10:1",
"type": ""
},
{
"name": "toInsert",
"nativeSrc": "1225:8:1",
"nodeType": "YulTypedName",
"src": "1225:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "1238:6:1",
"nodeType": "YulTypedName",
"src": "1238:6:1",
"type": ""
}
],
"src": "1169:393:1"
},
{
"body": {
"nativeSrc": "1613:32:1",
"nodeType": "YulBlock",
"src": "1613:32:1",
"statements": [
{
"nativeSrc": "1623:16:1",
"nodeType": "YulAssignment",
"src": "1623:16:1",
"value": {
"name": "value",
"nativeSrc": "1634:5:1",
"nodeType": "YulIdentifier",
"src": "1634:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1623:7:1",
"nodeType": "YulIdentifier",
"src": "1623:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "1568:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1595:5:1",
"nodeType": "YulTypedName",
"src": "1595:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1605:7:1",
"nodeType": "YulTypedName",
"src": "1605:7:1",
"type": ""
}
],
"src": "1568:77:1"
},
{
"body": {
"nativeSrc": "1683:28:1",
"nodeType": "YulBlock",
"src": "1683:28:1",
"statements": [
{
"nativeSrc": "1693:12:1",
"nodeType": "YulAssignment",
"src": "1693:12:1",
"value": {
"name": "value",
"nativeSrc": "1700:5:1",
"nodeType": "YulIdentifier",
"src": "1700:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "1693:3:1",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
}
]
}
]
},
"name": "identity",
"nativeSrc": "1651:60:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1669:5:1",
"nodeType": "YulTypedName",
"src": "1669:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "1679:3:1",
"nodeType": "YulTypedName",
"src": "1679:3:1",
"type": ""
}
],
"src": "1651:60:1"
},
{
"body": {
"nativeSrc": "1777:82:1",
"nodeType": "YulBlock",
"src": "1777:82:1",
"statements": [
{
"nativeSrc": "1787:66:1",
"nodeType": "YulAssignment",
"src": "1787:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1845:5:1",
"nodeType": "YulIdentifier",
"src": "1845:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1827:17:1",
"nodeType": "YulIdentifier",
"src": "1827:17:1"
},
"nativeSrc": "1827:24:1",
"nodeType": "YulFunctionCall",
"src": "1827:24:1"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "1818:8:1",
"nodeType": "YulIdentifier",
"src": "1818:8:1"
},
"nativeSrc": "1818:34:1",
"nodeType": "YulFunctionCall",
"src": "1818:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1800:17:1",
"nodeType": "YulIdentifier",
"src": "1800:17:1"
},
"nativeSrc": "1800:53:1",
"nodeType": "YulFunctionCall",
"src": "1800:53:1"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "1787:9:1",
"nodeType": "YulIdentifier",
"src": "1787:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "1717:142:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1757:5:1",
"nodeType": "YulTypedName",
"src": "1757:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "1767:9:1",
"nodeType": "YulTypedName",
"src": "1767:9:1",
"type": ""
}
],
"src": "1717:142:1"
},
{
"body": {
"nativeSrc": "1912:28:1",
"nodeType": "YulBlock",
"src": "1912:28:1",
"statements": [
{
"nativeSrc": "1922:12:1",
"nodeType": "YulAssignment",
"src": "1922:12:1",
"value": {
"name": "value",
"nativeSrc": "1929:5:1",
"nodeType": "YulIdentifier",
"src": "1929:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "1922:3:1",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nativeSrc": "1865:75:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1898:5:1",
"nodeType": "YulTypedName",
"src": "1898:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "1908:3:1",
"nodeType": "YulTypedName",
"src": "1908:3:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nativeSrc": "2022:193:1",
"nodeType": "YulBlock",
"src": "2022:193:1",
"statements": [
{
"nativeSrc": "2032:63:1",
"nodeType": "YulVariableDeclaration",
"src": "2032:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nativeSrc": "2087:7:1",
"nodeType": "YulIdentifier",
"src": "2087:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "2056:30:1",
"nodeType": "YulIdentifier",
"src": "2056:30:1"
},
"nativeSrc": "2056:39:1",
"nodeType": "YulFunctionCall",
"src": "2056:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nativeSrc": "2036:16:1",
"nodeType": "YulTypedName",
"src": "2036:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "2111:4:1",
"nodeType": "YulIdentifier",
"src": "2111:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "2151:4:1",
"nodeType": "YulIdentifier",
"src": "2151:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "2145:5:1",
"nodeType": "YulIdentifier",
"src": "2145:5:1"
},
"nativeSrc": "2145:11:1",
"nodeType": "YulFunctionCall",
"src": "2145:11:1"
},
{
"name": "offset",
"nativeSrc": "2158:6:1",
"nodeType": "YulIdentifier",
"src": "2158:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nativeSrc": "2190:16:1",
"nodeType": "YulIdentifier",
"src": "2190:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nativeSrc": "2166:23:1",
"nodeType": "YulIdentifier",
"src": "2166:23:1"
},
"nativeSrc": "2166:41:1",
"nodeType": "YulFunctionCall",
"src": "2166:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nativeSrc": "2117:27:1",
"nodeType": "YulIdentifier",
"src": "2117:27:1"
},
"nativeSrc": "2117:91:1",
"nodeType": "YulFunctionCall",
"src": "2117:91:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "2104:6:1",
"nodeType": "YulIdentifier",
"src": "2104:6:1"
},
"nativeSrc": "2104:105:1",
"nodeType": "YulFunctionCall",
"src": "2104:105:1"
},
"nativeSrc": "2104:105:1",
"nodeType": "YulExpressionStatement",
"src": "2104:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "1946:269:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "1999:4:1",
"nodeType": "YulTypedName",
"src": "1999:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "2005:6:1",
"nodeType": "YulTypedName",
"src": "2005:6:1",
"type": ""
},
{
"name": "value_0",
"nativeSrc": "2013:7:1",
"nodeType": "YulTypedName",
"src": "2013:7:1",
"type": ""
}
],
"src": "1946:269:1"
},
{
"body": {
"nativeSrc": "2270:24:1",
"nodeType": "YulBlock",
"src": "2270:24:1",
"statements": [
{
"nativeSrc": "2280:8:1",
"nodeType": "YulAssignment",
"src": "2280:8:1",
"value": {
"kind": "number",
"nativeSrc": "2287:1:1",
"nodeType": "YulLiteral",
"src": "2287:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "2280:3:1",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "2221:73:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nativeSrc": "2266:3:1",
"nodeType": "YulTypedName",
"src": "2266:3:1",
"type": ""
}
],
"src": "2221:73:1"
},
{
"body": {
"nativeSrc": "2353:136:1",
"nodeType": "YulBlock",
"src": "2353:136:1",
"statements": [
{
"nativeSrc": "2363:46:1",
"nodeType": "YulVariableDeclaration",
"src": "2363:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "2377:30:1",
"nodeType": "YulIdentifier",
"src": "2377:30:1"
},
"nativeSrc": "2377:32:1",
"nodeType": "YulFunctionCall",
"src": "2377:32:1"
},
"variables": [
{
"name": "zero_0",
"nativeSrc": "2367:6:1",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "2462:4:1",
"nodeType": "YulIdentifier",
"src": "2462:4:1"
},
{
"name": "offset",
"nativeSrc": "2468:6:1",
"nodeType": "YulIdentifier",
"src": "2468:6:1"
},
{
"name": "zero_0",
"nativeSrc": "2476:6:1",
"nodeType": "YulIdentifier",
"src": "2476:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "2418:43:1",
"nodeType": "YulIdentifier",
"src": "2418:43:1"
},
"nativeSrc": "2418:65:1",
"nodeType": "YulFunctionCall",
"src": "2418:65:1"
},
"nativeSrc": "2418:65:1",
"nodeType": "YulExpressionStatement",
"src": "2418:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "2300:189:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "2339:4:1",
"nodeType": "YulTypedName",
"src": "2339:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "2345:6:1",
"nodeType": "YulTypedName",
"src": "2345:6:1",
"type": ""
}
],
"src": "2300:189:1"
},
{
"body": {
"nativeSrc": "2545:136:1",
"nodeType": "YulBlock",
"src": "2545:136:1",
"statements": [
{
"body": {
"nativeSrc": "2612:63:1",
"nodeType": "YulBlock",
"src": "2612:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nativeSrc": "2656:5:1",
"nodeType": "YulIdentifier",
"src": "2656:5:1"
},
{
"kind": "number",
"nativeSrc": "2663:1:1",
"nodeType": "YulLiteral",
"src": "2663:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "2626:29:1",
"nodeType": "YulIdentifier",
"src": "2626:29:1"
},
"nativeSrc": "2626:39:1",
"nodeType": "YulFunctionCall",
"src": "2626:39:1"
},
"nativeSrc": "2626:39:1",
"nodeType": "YulExpressionStatement",
"src": "2626:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nativeSrc": "2565:5:1",
"nodeType": "YulIdentifier",
"src": "2565:5:1"
},
{
"name": "end",
"nativeSrc": "2572:3:1",
"nodeType": "YulIdentifier",
"src": "2572:3:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "2562:2:1",
"nodeType": "YulIdentifier",
"src": "2562:2:1"
},
"nativeSrc": "2562:14:1",
"nodeType": "YulFunctionCall",
"src": "2562:14:1"
},
"nativeSrc": "2555:120:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "2577:26:1",
"nodeType": "YulBlock",
"src": "2577:26:1",
"statements": [
{
"nativeSrc": "2579:22:1",
"nodeType": "YulAssignment",
"src": "2579:22:1",
"value": {
"arguments": [
{
"name": "start",
"nativeSrc": "2592:5:1",
"nodeType": "YulIdentifier",
"src": "2592:5:1"
},
{
"kind": "number",
"nativeSrc": "2599:1:1",
"nodeType": "YulLiteral",
"src": "2599:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2588:3:1",
"nodeType": "YulIdentifier",
"src": "2588:3:1"
},
"nativeSrc": "2588:13:1",
"nodeType": "YulFunctionCall",
"src": "2588:13:1"
},
"variableNames": [
{
"name": "start",
"nativeSrc": "2579:5:1",
"nodeType": "YulIdentifier",
"src": "2579:5:1"
}
]
}
]
},
"pre": {
"nativeSrc": "2559:2:1",
"nodeType": "YulBlock",
"src": "2559:2:1",
"statements": []
},
"src": "2555:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "2495:186:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nativeSrc": "2533:5:1",
"nodeType": "YulTypedName",
"src": "2533:5:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2540:3:1",
"nodeType": "YulTypedName",
"src": "2540:3:1",
"type": ""
}
],
"src": "2495:186:1"
},
{
"body": {
"nativeSrc": "2766:464:1",
"nodeType": "YulBlock",
"src": "2766:464:1",
"statements": [
{
"body": {
"nativeSrc": "2792:431:1",
"nodeType": "YulBlock",
"src": "2792:431:1",
"statements": [
{
"nativeSrc": "2806:54:1",
"nodeType": "YulVariableDeclaration",
"src": "2806:54:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "2854:5:1",
"nodeType": "YulIdentifier",
"src": "2854:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "2822:31:1",
"nodeType": "YulIdentifier",
"src": "2822:31:1"
},
"nativeSrc": "2822:38:1",
"nodeType": "YulFunctionCall",
"src": "2822:38:1"
},
"variables": [
{
"name": "dataArea",
"nativeSrc": "2810:8:1",
"nodeType": "YulTypedName",
"src": "2810:8:1",
"type": ""
}
]
},
{
"nativeSrc": "2873:63:1",
"nodeType": "YulVariableDeclaration",
"src": "2873:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nativeSrc": "2896:8:1",
"nodeType": "YulIdentifier",
"src": "2896:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nativeSrc": "2924:10:1",
"nodeType": "YulIdentifier",
"src": "2924:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "2906:17:1",
"nodeType": "YulIdentifier",
"src": "2906:17:1"
},
"nativeSrc": "2906:29:1",
"nodeType": "YulFunctionCall",
"src": "2906:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2892:3:1",
"nodeType": "YulIdentifier",
"src": "2892:3:1"
},
"nativeSrc": "2892:44:1",
"nodeType": "YulFunctionCall",
"src": "2892:44:1"
},
"variables": [
{
"name": "deleteStart",
"nativeSrc": "2877:11:1",
"nodeType": "YulTypedName",
"src": "2877:11:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "3093:27:1",
"nodeType": "YulBlock",
"src": "3093:27:1",
"statements": [
{
"nativeSrc": "3095:23:1",
"nodeType": "YulAssignment",
"src": "3095:23:1",
"value": {
"name": "dataArea",
"nativeSrc": "3110:8:1",
"nodeType": "YulIdentifier",
"src": "3110:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nativeSrc": "3095:11:1",
"nodeType": "YulIdentifier",
"src": "3095:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "3077:10:1",
"nodeType": "YulIdentifier",
"src": "3077:10:1"
},
{
"kind": "number",
"nativeSrc": "3089:2:1",
"nodeType": "YulLiteral",
"src": "3089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "3074:2:1",
"nodeType": "YulIdentifier",
"src": "3074:2:1"
},
"nativeSrc": "3074:18:1",
"nodeType": "YulFunctionCall",
"src": "3074:18:1"
},
"nativeSrc": "3071:49:1",
"nodeType": "YulIf",
"src": "3071:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nativeSrc": "3162:11:1",
"nodeType": "YulIdentifier",
"src": "3162:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nativeSrc": "3179:8:1",
"nodeType": "YulIdentifier",
"src": "3179:8:1"
},
{
"arguments": [
{
"name": "len",
"nativeSrc": "3207:3:1",
"nodeType": "YulIdentifier",
"src": "3207:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "3189:17:1",
"nodeType": "YulIdentifier",
"src": "3189:17:1"
},
"nativeSrc": "3189:22:1",
"nodeType": "YulFunctionCall",
"src": "3189:22:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3175:3:1",
"nodeType": "YulIdentifier",
"src": "3175:3:1"
},
"nativeSrc": "3175:37:1",
"nodeType": "YulFunctionCall",
"src": "3175:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "3133:28:1",
"nodeType": "YulIdentifier",
"src": "3133:28:1"
},
"nativeSrc": "3133:80:1",
"nodeType": "YulFunctionCall",
"src": "3133:80:1"
},
"nativeSrc": "3133:80:1",
"nodeType": "YulExpressionStatement",
"src": "3133:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "2783:3:1",
"nodeType": "YulIdentifier",
"src": "2783:3:1"
},
{
"kind": "number",
"nativeSrc": "2788:2:1",
"nodeType": "YulLiteral",
"src": "2788:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2780:2:1",
"nodeType": "YulIdentifier",
"src": "2780:2:1"
},
"nativeSrc": "2780:11:1",
"nodeType": "YulFunctionCall",
"src": "2780:11:1"
},
"nativeSrc": "2777:446:1",
"nodeType": "YulIf",
"src": "2777:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "2687:543:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nativeSrc": "2742:5:1",
"nodeType": "YulTypedName",
"src": "2742:5:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "2749:3:1",
"nodeType": "YulTypedName",
"src": "2749:3:1",
"type": ""
},
{
"name": "startIndex",
"nativeSrc": "2754:10:1",
"nodeType": "YulTypedName",
"src": "2754:10:1",
"type": ""
}
],
"src": "2687:543:1"
},
{
"body": {
"nativeSrc": "3299:54:1",
"nodeType": "YulBlock",
"src": "3299:54:1",
"statements": [
{
"nativeSrc": "3309:37:1",
"nodeType": "YulAssignment",
"src": "3309:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "3334:4:1",
"nodeType": "YulIdentifier",
"src": "3334:4:1"
},
{
"name": "value",
"nativeSrc": "3340:5:1",
"nodeType": "YulIdentifier",
"src": "3340:5:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "3330:3:1",
"nodeType": "YulIdentifier",
"src": "3330:3:1"
},
"nativeSrc": "3330:16:1",
"nodeType": "YulFunctionCall",
"src": "3330:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "3309:8:1",
"nodeType": "YulIdentifier",
"src": "3309:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "3236:117:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "3274:4:1",
"nodeType": "YulTypedName",
"src": "3274:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "3280:5:1",
"nodeType": "YulTypedName",
"src": "3280:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "3290:8:1",
"nodeType": "YulTypedName",
"src": "3290:8:1",
"type": ""
}
],
"src": "3236:117:1"
},
{
"body": {
"nativeSrc": "3410:118:1",
"nodeType": "YulBlock",
"src": "3410:118:1",
"statements": [
{
"nativeSrc": "3420:68:1",
"nodeType": "YulVariableDeclaration",
"src": "3420:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3469:1:1",
"nodeType": "YulLiteral",
"src": "3469:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nativeSrc": "3472:5:1",
"nodeType": "YulIdentifier",
"src": "3472:5:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "3465:3:1",
"nodeType": "YulIdentifier",
"src": "3465:3:1"
},
"nativeSrc": "3465:13:1",
"nodeType": "YulFunctionCall",
"src": "3465:13:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3484:1:1",
"nodeType": "YulLiteral",
"src": "3484:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nativeSrc": "3480:3:1",
"nodeType": "YulIdentifier",
"src": "3480:3:1"
},
"nativeSrc": "3480:6:1",
"nodeType": "YulFunctionCall",
"src": "3480:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "3436:28:1",
"nodeType": "YulIdentifier",
"src": "3436:28:1"
},
"nativeSrc": "3436:51:1",
"nodeType": "YulFunctionCall",
"src": "3436:51:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "3432:3:1",
"nodeType": "YulIdentifier",
"src": "3432:3:1"
},
"nativeSrc": "3432:56:1",
"nodeType": "YulFunctionCall",
"src": "3432:56:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "3424:4:1",
"nodeType": "YulTypedName",
"src": "3424:4:1",
"type": ""
}
]
},
{
"nativeSrc": "3497:25:1",
"nodeType": "YulAssignment",
"src": "3497:25:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "3511:4:1",
"nodeType": "YulIdentifier",
"src": "3511:4:1"
},
{
"name": "mask",
"nativeSrc": "3517:4:1",
"nodeType": "YulIdentifier",
"src": "3517:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "3507:3:1",
"nodeType": "YulIdentifier",
"src": "3507:3:1"
},
"nativeSrc": "3507:15:1",
"nodeType": "YulFunctionCall",
"src": "3507:15:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "3497:6:1",
"nodeType": "YulIdentifier",
"src": "3497:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nativeSrc": "3359:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "3387:4:1",
"nodeType": "YulTypedName",
"src": "3387:4:1",
"type": ""
},
{
"name": "bytes",
"nativeSrc": "3393:5:1",
"nodeType": "YulTypedName",
"src": "3393:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "3403:6:1",
"nodeType": "YulTypedName",
"src": "3403:6:1",
"type": ""
}
],
"src": "3359:169:1"
},
{
"body": {
"nativeSrc": "3614:214:1",
"nodeType": "YulBlock",
"src": "3614:214:1",
"statements": [
{
"nativeSrc": "3747:37:1",
"nodeType": "YulAssignment",
"src": "3747:37:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "3774:4:1",
"nodeType": "YulIdentifier",
"src": "3774:4:1"
},
{
"name": "len",
"nativeSrc": "3780:3:1",
"nodeType": "YulIdentifier",
"src": "3780:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "3755:18:1",
"nodeType": "YulIdentifier",
"src": "3755:18:1"
},
"nativeSrc": "3755:29:1",
"nodeType": "YulFunctionCall",
"src": "3755:29:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "3747:4:1",
"nodeType": "YulIdentifier",
"src": "3747:4:1"
}
]
},
{
"nativeSrc": "3793:29:1",
"nodeType": "YulAssignment",
"src": "3793:29:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "3804:4:1",
"nodeType": "YulIdentifier",
"src": "3804:4:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3814:1:1",
"nodeType": "YulLiteral",
"src": "3814:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nativeSrc": "3817:3:1",
"nodeType": "YulIdentifier",
"src": "3817:3:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "3810:3:1",
"nodeType": "YulIdentifier",
"src": "3810:3:1"
},
"nativeSrc": "3810:11:1",
"nodeType": "YulFunctionCall",
"src": "3810:11:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "3801:2:1",
"nodeType": "YulIdentifier",
"src": "3801:2:1"
},
"nativeSrc": "3801:21:1",
"nodeType": "YulFunctionCall",
"src": "3801:21:1"
},
"variableNames": [
{
"name": "used",
"nativeSrc": "3793:4:1",
"nodeType": "YulIdentifier",
"src": "3793:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "3533:295:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "3595:4:1",
"nodeType": "YulTypedName",
"src": "3595:4:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "3601:3:1",
"nodeType": "YulTypedName",
"src": "3601:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nativeSrc": "3609:4:1",
"nodeType": "YulTypedName",
"src": "3609:4:1",
"type": ""
}
],
"src": "3533:295:1"
},
{
"body": {
"nativeSrc": "3925:1303:1",
"nodeType": "YulBlock",
"src": "3925:1303:1",
"statements": [
{
"nativeSrc": "3936:51:1",
"nodeType": "YulVariableDeclaration",
"src": "3936:51:1",
"value": {
"arguments": [
{
"name": "src",
"nativeSrc": "3983:3:1",
"nodeType": "YulIdentifier",
"src": "3983:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "3950:32:1",
"nodeType": "YulIdentifier",
"src": "3950:32:1"
},
"nativeSrc": "3950:37:1",
"nodeType": "YulFunctionCall",
"src": "3950:37:1"
},
"variables": [
{
"name": "newLen",
"nativeSrc": "3940:6:1",
"nodeType": "YulTypedName",
"src": "3940:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4072:22:1",
"nodeType": "YulBlock",
"src": "4072:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "4074:16:1",
"nodeType": "YulIdentifier",
"src": "4074:16:1"
},
"nativeSrc": "4074:18:1",
"nodeType": "YulFunctionCall",
"src": "4074:18:1"
},
"nativeSrc": "4074:18:1",
"nodeType": "YulExpressionStatement",
"src": "4074:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4044:6:1",
"nodeType": "YulIdentifier",
"src": "4044:6:1"
},
{
"kind": "number",
"nativeSrc": "4052:18:1",
"nodeType": "YulLiteral",
"src": "4052:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4041:2:1",
"nodeType": "YulIdentifier",
"src": "4041:2:1"
},
"nativeSrc": "4041:30:1",
"nodeType": "YulFunctionCall",
"src": "4041:30:1"
},
"nativeSrc": "4038:56:1",
"nodeType": "YulIf",
"src": "4038:56:1"
},
{
"nativeSrc": "4104:52:1",
"nodeType": "YulVariableDeclaration",
"src": "4104:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "4150:4:1",
"nodeType": "YulIdentifier",
"src": "4150:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "4144:5:1",
"nodeType": "YulIdentifier",
"src": "4144:5:1"
},
"nativeSrc": "4144:11:1",
"nodeType": "YulFunctionCall",
"src": "4144:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nativeSrc": "4118:25:1",
"nodeType": "YulIdentifier",
"src": "4118:25:1"
},
"nativeSrc": "4118:38:1",
"nodeType": "YulFunctionCall",
"src": "4118:38:1"
},
"variables": [
{
"name": "oldLen",
"nativeSrc": "4108:6:1",
"nodeType": "YulTypedName",
"src": "4108:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4249:4:1",
"nodeType": "YulIdentifier",
"src": "4249:4:1"
},
{
"name": "oldLen",
"nativeSrc": "4255:6:1",
"nodeType": "YulIdentifier",
"src": "4255:6:1"
},
{
"name": "newLen",
"nativeSrc": "4263:6:1",
"nodeType": "YulIdentifier",
"src": "4263:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "4203:45:1",
"nodeType": "YulIdentifier",
"src": "4203:45:1"
},
"nativeSrc": "4203:67:1",
"nodeType": "YulFunctionCall",
"src": "4203:67:1"
},
"nativeSrc": "4203:67:1",
"nodeType": "YulExpressionStatement",
"src": "4203:67:1"
},
{
"nativeSrc": "4280:18:1",
"nodeType": "YulVariableDeclaration",
"src": "4280:18:1",
"value": {
"kind": "number",
"nativeSrc": "4297:1:1",
"nodeType": "YulLiteral",
"src": "4297:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nativeSrc": "4284:9:1",
"nodeType": "YulTypedName",
"src": "4284:9:1",
"type": ""
}
]
},
{
"nativeSrc": "4308:17:1",
"nodeType": "YulAssignment",
"src": "4308:17:1",
"value": {
"kind": "number",
"nativeSrc": "4321:4:1",
"nodeType": "YulLiteral",
"src": "4321:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "4308:9:1",
"nodeType": "YulIdentifier",
"src": "4308:9:1"
}
]
},
{
"cases": [
{
"body": {
"nativeSrc": "4372:611:1",
"nodeType": "YulBlock",
"src": "4372:611:1",
"statements": [
{
"nativeSrc": "4386:37:1",
"nodeType": "YulVariableDeclaration",
"src": "4386:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4405:6:1",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "4417:4:1",
"nodeType": "YulLiteral",
"src": "4417:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nativeSrc": "4413:3:1",
"nodeType": "YulIdentifier",
"src": "4413:3:1"
},
"nativeSrc": "4413:9:1",
"nodeType": "YulFunctionCall",
"src": "4413:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4401:3:1",
"nodeType": "YulIdentifier",
"src": "4401:3:1"
},
"nativeSrc": "4401:22:1",
"nodeType": "YulFunctionCall",
"src": "4401:22:1"
},
"variables": [
{
"name": "loopEnd",
"nativeSrc": "4390:7:1",
"nodeType": "YulTypedName",
"src": "4390:7:1",
"type": ""
}
]
},
{
"nativeSrc": "4437:51:1",
"nodeType": "YulVariableDeclaration",
"src": "4437:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4483:4:1",
"nodeType": "YulIdentifier",
"src": "4483:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "4451:31:1",
"nodeType": "YulIdentifier",
"src": "4451:31:1"
},
"nativeSrc": "4451:37:1",
"nodeType": "YulFunctionCall",
"src": "4451:37:1"
},
"variables": [
{
"name": "dstPtr",
"nativeSrc": "4441:6:1",
"nodeType": "YulTypedName",
"src": "4441:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4501:10:1",
"nodeType": "YulVariableDeclaration",
"src": "4501:10:1",
"value": {
"kind": "number",
"nativeSrc": "4510:1:1",
"nodeType": "YulLiteral",
"src": "4510:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "4505:1:1",
"nodeType": "YulTypedName",
"src": "4505:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4569:163:1",
"nodeType": "YulBlock",
"src": "4569:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4594:6:1",
"nodeType": "YulIdentifier",
"src": "4594:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "4612:3:1",
"nodeType": "YulIdentifier",
"src": "4612:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "4617:9:1",
"nodeType": "YulIdentifier",
"src": "4617:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4608:3:1",
"nodeType": "YulIdentifier",
"src": "4608:3:1"
},
"nativeSrc": "4608:19:1",
"nodeType": "YulFunctionCall",
"src": "4608:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4602:5:1",
"nodeType": "YulIdentifier",
"src": "4602:5:1"
},
"nativeSrc": "4602:26:1",
"nodeType": "YulFunctionCall",
"src": "4602:26:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "4587:6:1",
"nodeType": "YulIdentifier",
"src": "4587:6:1"
},
"nativeSrc": "4587:42:1",
"nodeType": "YulFunctionCall",
"src": "4587:42:1"
},
"nativeSrc": "4587:42:1",
"nodeType": "YulExpressionStatement",
"src": "4587:42:1"
},
{
"nativeSrc": "4646:24:1",
"nodeType": "YulAssignment",
"src": "4646:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4660:6:1",
"nodeType": "YulIdentifier",
"src": "4660:6:1"
},
{
"kind": "number",
"nativeSrc": "4668:1:1",
"nodeType": "YulLiteral",
"src": "4668:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4656:3:1",
"nodeType": "YulIdentifier",
"src": "4656:3:1"
},
"nativeSrc": "4656:14:1",
"nodeType": "YulFunctionCall",
"src": "4656:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nativeSrc": "4646:6:1",
"nodeType": "YulIdentifier",
"src": "4646:6:1"
}
]
},
{
"nativeSrc": "4687:31:1",
"nodeType": "YulAssignment",
"src": "4687:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nativeSrc": "4704:9:1",
"nodeType": "YulIdentifier",
"src": "4704:9:1"
},
{
"kind": "number",
"nativeSrc": "4715:2:1",
"nodeType": "YulLiteral",
"src": "4715:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4700:3:1",
"nodeType": "YulIdentifier",
"src": "4700:3:1"
},
"nativeSrc": "4700:18:1",
"nodeType": "YulFunctionCall",
"src": "4700:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "4687:9:1",
"nodeType": "YulIdentifier",
"src": "4687:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "4535:1:1",
"nodeType": "YulIdentifier",
"src": "4535:1:1"
},
{
"name": "loopEnd",
"nativeSrc": "4538:7:1",
"nodeType": "YulIdentifier",
"src": "4538:7:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "4532:2:1",
"nodeType": "YulIdentifier",
"src": "4532:2:1"
},
"nativeSrc": "4532:14:1",
"nodeType": "YulFunctionCall",
"src": "4532:14:1"
},
"nativeSrc": "4524:208:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "4547:21:1",
"nodeType": "YulBlock",
"src": "4547:21:1",
"statements": [
{
"nativeSrc": "4549:17:1",
"nodeType": "YulAssignment",
"src": "4549:17:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "4558:1:1",
"nodeType": "YulIdentifier",
"src": "4558:1:1"
},
{
"kind": "number",
"nativeSrc": "4561:4:1",
"nodeType": "YulLiteral",
"src": "4561:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4554:3:1",
"nodeType": "YulIdentifier",
"src": "4554:3:1"
},
"nativeSrc": "4554:12:1",
"nodeType": "YulFunctionCall",
"src": "4554:12:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "4549:1:1",
"nodeType": "YulIdentifier",
"src": "4549:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "4528:3:1",
"nodeType": "YulBlock",
"src": "4528:3:1",
"statements": []
},
"src": "4524:208:1"
},
{
"body": {
"nativeSrc": "4768:156:1",
"nodeType": "YulBlock",
"src": "4768:156:1",
"statements": [
{
"nativeSrc": "4786:43:1",
"nodeType": "YulVariableDeclaration",
"src": "4786:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "4813:3:1",
"nodeType": "YulIdentifier",
"src": "4813:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "4818:9:1",
"nodeType": "YulIdentifier",
"src": "4818:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4809:3:1",
"nodeType": "YulIdentifier",
"src": "4809:3:1"
},
"nativeSrc": "4809:19:1",
"nodeType": "YulFunctionCall",
"src": "4809:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4803:5:1",
"nodeType": "YulIdentifier",
"src": "4803:5:1"
},
"nativeSrc": "4803:26:1",
"nodeType": "YulFunctionCall",
"src": "4803:26:1"
},
"variables": [
{
"name": "lastValue",
"nativeSrc": "4790:9:1",
"nodeType": "YulTypedName",
"src": "4790:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4853:6:1",
"nodeType": "YulIdentifier",
"src": "4853:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nativeSrc": "4880:9:1",
"nodeType": "YulIdentifier",
"src": "4880:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "4895:6:1",
"nodeType": "YulIdentifier",
"src": "4895:6:1"
},
{
"kind": "number",
"nativeSrc": "4903:4:1",
"nodeType": "YulLiteral",
"src": "4903:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4891:3:1",
"nodeType": "YulIdentifier",
"src": "4891:3:1"
},
"nativeSrc": "4891:17:1",
"nodeType": "YulFunctionCall",
"src": "4891:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "4861:18:1",
"nodeType": "YulIdentifier",
"src": "4861:18:1"
},
"nativeSrc": "4861:48:1",
"nodeType": "YulFunctionCall",
"src": "4861:48:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "4846:6:1",
"nodeType": "YulIdentifier",
"src": "4846:6:1"
},
"nativeSrc": "4846:64:1",
"nodeType": "YulFunctionCall",
"src": "4846:64:1"
},
"nativeSrc": "4846:64:1",
"nodeType": "YulExpressionStatement",
"src": "4846:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nativeSrc": "4751:7:1",
"nodeType": "YulIdentifier",
"src": "4751:7:1"
},
{
"name": "newLen",
"nativeSrc": "4760:6:1",
"nodeType": "YulIdentifier",
"src": "4760:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "4748:2:1",
"nodeType": "YulIdentifier",
"src": "4748:2:1"
},
"nativeSrc": "4748:19:1",
"nodeType": "YulFunctionCall",
"src": "4748:19:1"
},
"nativeSrc": "4745:179:1",
"nodeType": "YulIf",
"src": "4745:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4944:4:1",
"nodeType": "YulIdentifier",
"src": "4944:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "4958:6:1",
"nodeType": "YulIdentifier",
"src": "4958:6:1"
},
{
"kind": "number",
"nativeSrc": "4966:1:1",
"nodeType": "YulLiteral",
"src": "4966:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "4954:3:1",
"nodeType": "YulIdentifier",
"src": "4954:3:1"
},
"nativeSrc": "4954:14:1",
"nodeType": "YulFunctionCall",
"src": "4954:14:1"
},
{
"kind": "number",
"nativeSrc": "4970:1:1",
"nodeType": "YulLiteral",
"src": "4970:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4950:3:1",
"nodeType": "YulIdentifier",
"src": "4950:3:1"
},
"nativeSrc": "4950:22:1",
"nodeType": "YulFunctionCall",
"src": "4950:22:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "4937:6:1",
"nodeType": "YulIdentifier",
"src": "4937:6:1"
},
"nativeSrc": "4937:36:1",
"nodeType": "YulFunctionCall",
"src": "4937:36:1"
},
"nativeSrc": "4937:36:1",
"nodeType": "YulExpressionStatement",
"src": "4937:36:1"
}
]
},
"nativeSrc": "4365:618:1",
"nodeType": "YulCase",
"src": "4365:618:1",
"value": {
"kind": "number",
"nativeSrc": "4370:1:1",
"nodeType": "YulLiteral",
"src": "4370:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "5000:222:1",
"nodeType": "YulBlock",
"src": "5000:222:1",
"statements": [
{
"nativeSrc": "5014:14:1",
"nodeType": "YulVariableDeclaration",
"src": "5014:14:1",
"value": {
"kind": "number",
"nativeSrc": "5027:1:1",
"nodeType": "YulLiteral",
"src": "5027:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nativeSrc": "5018:5:1",
"nodeType": "YulTypedName",
"src": "5018:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "5051:67:1",
"nodeType": "YulBlock",
"src": "5051:67:1",
"statements": [
{
"nativeSrc": "5069:35:1",
"nodeType": "YulAssignment",
"src": "5069:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "5088:3:1",
"nodeType": "YulIdentifier",
"src": "5088:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "5093:9:1",
"nodeType": "YulIdentifier",
"src": "5093:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5084:3:1",
"nodeType": "YulIdentifier",
"src": "5084:3:1"
},
"nativeSrc": "5084:19:1",
"nodeType": "YulFunctionCall",
"src": "5084:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5078:5:1",
"nodeType": "YulIdentifier",
"src": "5078:5:1"
},
"nativeSrc": "5078:26:1",
"nodeType": "YulFunctionCall",
"src": "5078:26:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "5069:5:1",
"nodeType": "YulIdentifier",
"src": "5069:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nativeSrc": "5044:6:1",
"nodeType": "YulIdentifier",
"src": "5044:6:1"
},
"nativeSrc": "5041:77:1",
"nodeType": "YulIf",
"src": "5041:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "5138:4:1",
"nodeType": "YulIdentifier",
"src": "5138:4:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "5197:5:1",
"nodeType": "YulIdentifier",
"src": "5197:5:1"
},
{
"name": "newLen",
"nativeSrc": "5204:6:1",
"nodeType": "YulIdentifier",
"src": "5204:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "5144:52:1",
"nodeType": "YulIdentifier",
"src": "5144:52:1"
},
"nativeSrc": "5144:67:1",
"nodeType": "YulFunctionCall",
"src": "5144:67:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "5131:6:1",
"nodeType": "YulIdentifier",
"src": "5131:6:1"
},
"nativeSrc": "5131:81:1",
"nodeType": "YulFunctionCall",
"src": "5131:81:1"
},
"nativeSrc": "5131:81:1",
"nodeType": "YulExpressionStatement",
"src": "5131:81:1"
}
]
},
"nativeSrc": "4992:230:1",
"nodeType": "YulCase",
"src": "4992:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4345:6:1",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
{
"kind": "number",
"nativeSrc": "4353:2:1",
"nodeType": "YulLiteral",
"src": "4353:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4342:2:1",
"nodeType": "YulIdentifier",
"src": "4342:2:1"
},
"nativeSrc": "4342:14:1",
"nodeType": "YulFunctionCall",
"src": "4342:14:1"
},
"nativeSrc": "4335:887:1",
"nodeType": "YulSwitch",
"src": "4335:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nativeSrc": "3833:1395:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "3914:4:1",
"nodeType": "YulTypedName",
"src": "3914:4:1",
"type": ""
},
{
"name": "src",
"nativeSrc": "3920:3:1",
"nodeType": "YulTypedName",
"src": "3920:3:1",
"type": ""
}
],
"src": "3833:1395:1"
}
]
},
"contents": "{\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": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801562000010575f80fd5b505f60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016040518060400160405280600981526020017f47726f636572696573000000000000000000000000000000000000000000000081525081526020016032815250908060018154018082558091505060019003905f5260205f2090600302015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081620000fa91906200055d565b506040820151816002015550505f60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016040518060400160405280600e81526020017f5472616e73706f72746174696f6e0000000000000000000000000000000000008152508152602001601e815250908060018154018082558091505060019003905f5260205f2090600302015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081620001f091906200055d565b506040820151816002015550505f60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016040518060400160405280600a81526020017f44696e696e67206f75740000000000000000000000000000000000000000000081525081526020016019815250908060018154018082558091505060019003905f5260205f2090600302015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001019081620002e691906200055d565b5060408201518160020155505062000641565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200037557607f821691505b6020821081036200038b576200038a62000330565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620003ef7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003b2565b620003fb8683620003b2565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004456200043f620004398462000413565b6200041c565b62000413565b9050919050565b5f819050919050565b620004608362000425565b620004786200046f826200044c565b848454620003be565b825550505050565b5f90565b6200048e62000480565b6200049b81848462000455565b505050565b5b81811015620004c257620004b65f8262000484565b600181019050620004a1565b5050565b601f8211156200051157620004db8162000391565b620004e684620003a3565b81016020851015620004f6578190505b6200050e6200050585620003a3565b830182620004a0565b50505b505050565b5f82821c905092915050565b5f620005335f198460080262000516565b1980831691505092915050565b5f6200054d838362000522565b9150826002028217905092915050565b6200056882620002f9565b67ffffffffffffffff81111562000584576200058362000303565b5b6200059082546200035d565b6200059d828285620004c6565b5f60209050601f831160018114620005d3575f8415620005be578287015190505b620005ca858262000540565b86555062000639565b601f198416620005e38662000391565b5f5b828110156200060c57848901518255600182019150602085019450602081019050620005e5565b868310156200062c578489015162000628601f89168262000522565b8355505b6001600288020188555050505b505050505050565b610a2a806200064f5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c80633fb457e414610043578063a4df1f5a14610073578063af4afe0a1461008f575b5f80fd5b61005d60048036038101906100589190610392565b6100c1565b60405161006a91906103d5565b60405180910390f35b61008d60048036038101906100889190610554565b61018c565b005b6100a960048036038101906100a491906105ae565b61024e565b6040516100b893929190610662565b60405180910390f35b5f805f5b5f80549050811015610182578373ffffffffffffffffffffffffffffffffffffffff165f82815481106100fb576100fa61069e565b5b905f5260205f2090600302015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610175575f81815481106101575761015661069e565b5b905f5260205f209060030201600201548261017291906106f8565b91505b80806001019150506100c5565b5080915050919050565b5f60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815250908060018154018082558091505060019003905f5260205f2090600302015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101908161023d9190610925565b506040820151816002015550505050565b5f818154811061025c575f80fd5b905f5260205f2090600302015f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010180546102a090610758565b80601f01602080910402602001604051908101604052809291908181526020018280546102cc90610758565b80156103175780601f106102ee57610100808354040283529160200191610317565b820191905f5260205f20905b8154815290600101906020018083116102fa57829003601f168201915b5050505050908060020154905083565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61036182610338565b9050919050565b61037181610357565b811461037b575f80fd5b50565b5f8135905061038c81610368565b92915050565b5f602082840312156103a7576103a6610330565b5b5f6103b48482850161037e565b91505092915050565b5f819050919050565b6103cf816103bd565b82525050565b5f6020820190506103e85f8301846103c6565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61043c826103f6565b810181811067ffffffffffffffff8211171561045b5761045a610406565b5b80604052505050565b5f61046d610327565b90506104798282610433565b919050565b5f67ffffffffffffffff82111561049857610497610406565b5b6104a1826103f6565b9050602081019050919050565b828183375f83830152505050565b5f6104ce6104c98461047e565b610464565b9050828152602081018484840111156104ea576104e96103f2565b5b6104f58482856104ae565b509392505050565b5f82601f830112610511576105106103ee565b5b81356105218482602086016104bc565b91505092915050565b610533816103bd565b811461053d575f80fd5b50565b5f8135905061054e8161052a565b92915050565b5f806040838503121561056a57610569610330565b5b5f83013567ffffffffffffffff81111561058757610586610334565b5b610593858286016104fd565b92505060206105a485828601610540565b9150509250929050565b5f602082840312156105c3576105c2610330565b5b5f6105d084828501610540565b91505092915050565b6105e281610357565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561061f578082015181840152602081019050610604565b5f8484015250505050565b5f610634826105e8565b61063e81856105f2565b935061064e818560208601610602565b610657816103f6565b840191505092915050565b5f6060820190506106755f8301866105d9565b8181036020830152610687818561062a565b905061069660408301846103c6565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610702826103bd565b915061070d836103bd565b9250828201905080821115610725576107246106cb565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061076f57607f821691505b6020821081036107825761078161072b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026107e47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826107a9565b6107ee86836107a9565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61082961082461081f846103bd565b610806565b6103bd565b9050919050565b5f819050919050565b6108428361080f565b61085661084e82610830565b8484546107b5565b825550505050565b5f90565b61086a61085e565b610875818484610839565b505050565b5b818110156108985761088d5f82610862565b60018101905061087b565b5050565b601f8211156108dd576108ae81610788565b6108b78461079a565b810160208510156108c6578190505b6108da6108d28561079a565b83018261087a565b50505b505050565b5f82821c905092915050565b5f6108fd5f19846008026108e2565b1980831691505092915050565b5f61091583836108ee565b9150826002028217905092915050565b61092e826105e8565b67ffffffffffffffff81111561094757610946610406565b5b6109518254610758565b61095c82828561089c565b5f60209050601f83116001811461098d575f841561097b578287015190505b610985858261090a565b8655506109ec565b601f19841661099b86610788565b5f5b828110156109c25784890151825560018201915060208501945060208101905061099d565b868310156109df57848901516109db601f8916826108ee565b8355505b6001600288020188555050505b50505050505056fea26469706673582212200be14c4590e509a9a66fb835c8326b07004a1aa3cabf556030b08ba345395b2c64736f6c63430008160033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x10 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x47726F6365726965730000000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x32 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH0 DUP3 ADD MLOAD DUP2 PUSH0 ADD PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH3 0xFA SWAP2 SWAP1 PUSH3 0x55D JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE POP POP PUSH0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x5472616E73706F72746174696F6E000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1E DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH0 DUP3 ADD MLOAD DUP2 PUSH0 ADD PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH3 0x1F0 SWAP2 SWAP1 PUSH3 0x55D JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE POP POP PUSH0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xA DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x44696E696E67206F757400000000000000000000000000000000000000000000 DUP2 MSTORE POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x19 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH0 DUP3 ADD MLOAD DUP2 PUSH0 ADD PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH3 0x2E6 SWAP2 SWAP1 PUSH3 0x55D JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE POP POP PUSH3 0x641 JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x375 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x38B JUMPI PUSH3 0x38A PUSH3 0x330 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH3 0x3EF PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH3 0x3B2 JUMP JUMPDEST PUSH3 0x3FB DUP7 DUP4 PUSH3 0x3B2 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH3 0x445 PUSH3 0x43F PUSH3 0x439 DUP5 PUSH3 0x413 JUMP JUMPDEST PUSH3 0x41C JUMP JUMPDEST PUSH3 0x413 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x460 DUP4 PUSH3 0x425 JUMP JUMPDEST PUSH3 0x478 PUSH3 0x46F DUP3 PUSH3 0x44C JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH3 0x3BE JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH3 0x48E PUSH3 0x480 JUMP JUMPDEST PUSH3 0x49B DUP2 DUP5 DUP5 PUSH3 0x455 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x4C2 JUMPI PUSH3 0x4B6 PUSH0 DUP3 PUSH3 0x484 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH3 0x4A1 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x511 JUMPI PUSH3 0x4DB DUP2 PUSH3 0x391 JUMP JUMPDEST PUSH3 0x4E6 DUP5 PUSH3 0x3A3 JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH3 0x4F6 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH3 0x50E PUSH3 0x505 DUP6 PUSH3 0x3A3 JUMP JUMPDEST DUP4 ADD DUP3 PUSH3 0x4A0 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x533 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH3 0x516 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH3 0x54D DUP4 DUP4 PUSH3 0x522 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x568 DUP3 PUSH3 0x2F9 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x584 JUMPI PUSH3 0x583 PUSH3 0x303 JUMP JUMPDEST JUMPDEST PUSH3 0x590 DUP3 SLOAD PUSH3 0x35D JUMP JUMPDEST PUSH3 0x59D DUP3 DUP3 DUP6 PUSH3 0x4C6 JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x5D3 JUMPI PUSH0 DUP5 ISZERO PUSH3 0x5BE JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH3 0x5CA DUP6 DUP3 PUSH3 0x540 JUMP JUMPDEST DUP7 SSTORE POP PUSH3 0x639 JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH3 0x5E3 DUP7 PUSH3 0x391 JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x60C 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 0x5E5 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH3 0x62C JUMPI DUP5 DUP10 ADD MLOAD PUSH3 0x628 PUSH1 0x1F DUP10 AND DUP3 PUSH3 0x522 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 0xA2A DUP1 PUSH3 0x64F PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3FB457E4 EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0xA4DF1F5A EQ PUSH2 0x73 JUMPI DUP1 PUSH4 0xAF4AFE0A EQ PUSH2 0x8F JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x5D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x58 SWAP2 SWAP1 PUSH2 0x392 JUMP JUMPDEST PUSH2 0xC1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6A SWAP2 SWAP1 PUSH2 0x3D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x88 SWAP2 SWAP1 PUSH2 0x554 JUMP JUMPDEST PUSH2 0x18C JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA4 SWAP2 SWAP1 PUSH2 0x5AE JUMP JUMPDEST PUSH2 0x24E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB8 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x662 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 PUSH0 JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x182 JUMPI DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH0 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xFB JUMPI PUSH2 0xFA PUSH2 0x69E JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x175 JUMPI PUSH0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x157 JUMPI PUSH2 0x156 PUSH2 0x69E JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SLOAD DUP3 PUSH2 0x172 SWAP2 SWAP1 PUSH2 0x6F8 JUMP JUMPDEST SWAP2 POP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xC5 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH0 DUP3 ADD MLOAD DUP2 PUSH0 ADD PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH2 0x23D SWAP2 SWAP1 PUSH2 0x925 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x25C JUMPI PUSH0 DUP1 REVERT JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH0 SWAP2 POP SWAP1 POP DUP1 PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x2A0 SWAP1 PUSH2 0x758 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 0x2CC SWAP1 PUSH2 0x758 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x317 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x317 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2FA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x361 DUP3 PUSH2 0x338 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x371 DUP2 PUSH2 0x357 JUMP JUMPDEST DUP2 EQ PUSH2 0x37B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x38C DUP2 PUSH2 0x368 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A7 JUMPI PUSH2 0x3A6 PUSH2 0x330 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x3B4 DUP5 DUP3 DUP6 ADD PUSH2 0x37E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3CF DUP2 PUSH2 0x3BD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3E8 PUSH0 DUP4 ADD DUP5 PUSH2 0x3C6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x43C DUP3 PUSH2 0x3F6 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x45B JUMPI PUSH2 0x45A PUSH2 0x406 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x46D PUSH2 0x327 JUMP JUMPDEST SWAP1 POP PUSH2 0x479 DUP3 DUP3 PUSH2 0x433 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x498 JUMPI PUSH2 0x497 PUSH2 0x406 JUMP JUMPDEST JUMPDEST PUSH2 0x4A1 DUP3 PUSH2 0x3F6 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x4CE PUSH2 0x4C9 DUP5 PUSH2 0x47E JUMP JUMPDEST PUSH2 0x464 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x4EA JUMPI PUSH2 0x4E9 PUSH2 0x3F2 JUMP JUMPDEST JUMPDEST PUSH2 0x4F5 DUP5 DUP3 DUP6 PUSH2 0x4AE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x511 JUMPI PUSH2 0x510 PUSH2 0x3EE JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x521 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x533 DUP2 PUSH2 0x3BD JUMP JUMPDEST DUP2 EQ PUSH2 0x53D JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x54E DUP2 PUSH2 0x52A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x56A JUMPI PUSH2 0x569 PUSH2 0x330 JUMP JUMPDEST JUMPDEST PUSH0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x587 JUMPI PUSH2 0x586 PUSH2 0x334 JUMP JUMPDEST JUMPDEST PUSH2 0x593 DUP6 DUP3 DUP7 ADD PUSH2 0x4FD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x5A4 DUP6 DUP3 DUP7 ADD PUSH2 0x540 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5C3 JUMPI PUSH2 0x5C2 PUSH2 0x330 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x5D0 DUP5 DUP3 DUP6 ADD PUSH2 0x540 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5E2 DUP2 PUSH2 0x357 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x61F JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x604 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x634 DUP3 PUSH2 0x5E8 JUMP JUMPDEST PUSH2 0x63E DUP2 DUP6 PUSH2 0x5F2 JUMP JUMPDEST SWAP4 POP PUSH2 0x64E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x602 JUMP JUMPDEST PUSH2 0x657 DUP2 PUSH2 0x3F6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x675 PUSH0 DUP4 ADD DUP7 PUSH2 0x5D9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x687 DUP2 DUP6 PUSH2 0x62A JUMP JUMPDEST SWAP1 POP PUSH2 0x696 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x3C6 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x702 DUP3 PUSH2 0x3BD JUMP JUMPDEST SWAP2 POP PUSH2 0x70D DUP4 PUSH2 0x3BD JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x725 JUMPI PUSH2 0x724 PUSH2 0x6CB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x76F JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x782 JUMPI PUSH2 0x781 PUSH2 0x72B JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x7E4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x7A9 JUMP JUMPDEST PUSH2 0x7EE DUP7 DUP4 PUSH2 0x7A9 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x829 PUSH2 0x824 PUSH2 0x81F DUP5 PUSH2 0x3BD JUMP JUMPDEST PUSH2 0x806 JUMP JUMPDEST PUSH2 0x3BD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x842 DUP4 PUSH2 0x80F JUMP JUMPDEST PUSH2 0x856 PUSH2 0x84E DUP3 PUSH2 0x830 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x7B5 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x86A PUSH2 0x85E JUMP JUMPDEST PUSH2 0x875 DUP2 DUP5 DUP5 PUSH2 0x839 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x898 JUMPI PUSH2 0x88D PUSH0 DUP3 PUSH2 0x862 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x87B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x8DD JUMPI PUSH2 0x8AE DUP2 PUSH2 0x788 JUMP JUMPDEST PUSH2 0x8B7 DUP5 PUSH2 0x79A JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x8C6 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x8DA PUSH2 0x8D2 DUP6 PUSH2 0x79A JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x87A JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x8FD PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x8E2 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x915 DUP4 DUP4 PUSH2 0x8EE JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x92E DUP3 PUSH2 0x5E8 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x947 JUMPI PUSH2 0x946 PUSH2 0x406 JUMP JUMPDEST JUMPDEST PUSH2 0x951 DUP3 SLOAD PUSH2 0x758 JUMP JUMPDEST PUSH2 0x95C DUP3 DUP3 DUP6 PUSH2 0x89C JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x98D JUMPI PUSH0 DUP5 ISZERO PUSH2 0x97B JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x985 DUP6 DUP3 PUSH2 0x90A JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x9EC JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x99B DUP7 PUSH2 0x788 JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x9C2 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 0x99D JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x9DF JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x9DB PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x8EE 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SIGNEXTEND 0xE1 0x4C GASLIMIT SWAP1 0xE5 MULMOD 0xA9 0xA6 PUSH16 0xB835C8326B07004A1AA3CABF556030B0 DUP12 LOG3 GASLIMIT CODECOPY JUMPDEST 0x2C PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ",
"sourceMap": "303:896:0:-:0;;;473:214;;;;;;;;;;498:8;512:36;;;;;;;;520:10;512:36;;;;;;;;;;;;;;;;;;;;;;;;;;;545:2;512:36;;;498:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;560:8;574:41;;;;;;;;582:10;574:41;;;;;;;;;;;;;;;;;;;;;;;;;;;612:2;574:41;;;560:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;627:8;641:37;;;;;;;;649:10;641:37;;;;;;;;;;;;;;;;;;;;;;;;;;;675:2;641:37;;;627:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;303:896;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;303:896:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@addExpense_68": {
"entryPoint": 396,
"id": 68,
"parameterSlots": 2,
"returnSlots": 0
},
"@expenses_12": {
"entryPoint": 590,
"id": 12,
"parameterSlots": 0,
"returnSlots": 0
},
"@getTotalExpenses_109": {
"entryPoint": 193,
"id": 109,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 1212,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 894,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 1277,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 1344,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 914,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_string_memory_ptrt_uint256": {
"entryPoint": 1364,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 1454,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 1497,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 1578,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 966,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address_t_string_memory_ptr_t_uint256__to_t_address_t_string_memory_ptr_t_uint256__fromStack_reversed": {
"entryPoint": 1634,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 981,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 1124,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 807,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 1150,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 1928,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 1512,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 1522,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 1784,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 2204,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_address": {
"entryPoint": 855,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 824,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 957,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 2170,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 2063,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 2341,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"copy_calldata_to_memory_with_cleanup": {
"entryPoint": 1198,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 1538,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 1946,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 1880,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 2314,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 1075,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"identity": {
"entryPoint": 2054,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 2286,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 1739,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 1835,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 1694,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 1030,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 2096,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 1006,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 1010,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 820,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 816,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 1014,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 1961,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 2274,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 2146,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 1973,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 2105,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 872,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 1322,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 2142,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:12095:1",
"nodeType": "YulBlock",
"src": "0:12095:1",
"statements": [
{
"body": {
"nativeSrc": "47:35:1",
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nativeSrc": "57:19:1",
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "73:2:1",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "67:5:1",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nativeSrc": "67:9:1",
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "57:6:1",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "7:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "40:6:1",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nativeSrc": "177:28:1",
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "194:1:1",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "197:1:1",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "187:6:1",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "88:117:1",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nativeSrc": "300:28:1",
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "317:1:1",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "320:1:1",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "310:6:1",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "211:117:1",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nativeSrc": "379:81:1",
"nodeType": "YulBlock",
"src": "379:81:1",
"statements": [
{
"nativeSrc": "389:65:1",
"nodeType": "YulAssignment",
"src": "389:65:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "404:5:1",
"nodeType": "YulIdentifier",
"src": "404:5:1"
},
{
"kind": "number",
"nativeSrc": "411:42:1",
"nodeType": "YulLiteral",
"src": "411:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "400:3:1",
"nodeType": "YulIdentifier",
"src": "400:3:1"
},
"nativeSrc": "400:54:1",
"nodeType": "YulFunctionCall",
"src": "400:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "389:7:1",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "334:126:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "361:5:1",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "371:7:1",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:126:1"
},
{
"body": {
"nativeSrc": "511:51:1",
"nodeType": "YulBlock",
"src": "511:51:1",
"statements": [
{
"nativeSrc": "521:35:1",
"nodeType": "YulAssignment",
"src": "521:35:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "550:5:1",
"nodeType": "YulIdentifier",
"src": "550:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "532:17:1",
"nodeType": "YulIdentifier",
"src": "532:17:1"
},
"nativeSrc": "532:24:1",
"nodeType": "YulFunctionCall",
"src": "532:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "521:7:1",
"nodeType": "YulIdentifier",
"src": "521:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "466:96:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "493:5:1",
"nodeType": "YulTypedName",
"src": "493:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "503:7:1",
"nodeType": "YulTypedName",
"src": "503:7:1",
"type": ""
}
],
"src": "466:96:1"
},
{
"body": {
"nativeSrc": "611:79:1",
"nodeType": "YulBlock",
"src": "611:79:1",
"statements": [
{
"body": {
"nativeSrc": "668:16:1",
"nodeType": "YulBlock",
"src": "668:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "677:1:1",
"nodeType": "YulLiteral",
"src": "677:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "680:1:1",
"nodeType": "YulLiteral",
"src": "680:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "670:6:1",
"nodeType": "YulIdentifier",
"src": "670:6:1"
},
"nativeSrc": "670:12:1",
"nodeType": "YulFunctionCall",
"src": "670:12:1"
},
"nativeSrc": "670:12:1",
"nodeType": "YulExpressionStatement",
"src": "670:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "634:5:1",
"nodeType": "YulIdentifier",
"src": "634:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "659:5:1",
"nodeType": "YulIdentifier",
"src": "659:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "641:17:1",
"nodeType": "YulIdentifier",
"src": "641:17:1"
},
"nativeSrc": "641:24:1",
"nodeType": "YulFunctionCall",
"src": "641:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "631:2:1",
"nodeType": "YulIdentifier",
"src": "631:2:1"
},
"nativeSrc": "631:35:1",
"nodeType": "YulFunctionCall",
"src": "631:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "624:6:1",
"nodeType": "YulIdentifier",
"src": "624:6:1"
},
"nativeSrc": "624:43:1",
"nodeType": "YulFunctionCall",
"src": "624:43:1"
},
"nativeSrc": "621:63:1",
"nodeType": "YulIf",
"src": "621:63:1"
}
]
},
"name": "validator_revert_t_address",
"nativeSrc": "568:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "604:5:1",
"nodeType": "YulTypedName",
"src": "604:5:1",
"type": ""
}
],
"src": "568:122:1"
},
{
"body": {
"nativeSrc": "748:87:1",
"nodeType": "YulBlock",
"src": "748:87:1",
"statements": [
{
"nativeSrc": "758:29:1",
"nodeType": "YulAssignment",
"src": "758:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "780:6:1",
"nodeType": "YulIdentifier",
"src": "780:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "767:12:1",
"nodeType": "YulIdentifier",
"src": "767:12:1"
},
"nativeSrc": "767:20:1",
"nodeType": "YulFunctionCall",
"src": "767:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "758:5:1",
"nodeType": "YulIdentifier",
"src": "758:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "823:5:1",
"nodeType": "YulIdentifier",
"src": "823:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nativeSrc": "796:26:1",
"nodeType": "YulIdentifier",
"src": "796:26:1"
},
"nativeSrc": "796:33:1",
"nodeType": "YulFunctionCall",
"src": "796:33:1"
},
"nativeSrc": "796:33:1",
"nodeType": "YulExpressionStatement",
"src": "796:33:1"
}
]
},
"name": "abi_decode_t_address",
"nativeSrc": "696:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "726:6:1",
"nodeType": "YulTypedName",
"src": "726:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "734:3:1",
"nodeType": "YulTypedName",
"src": "734:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "742:5:1",
"nodeType": "YulTypedName",
"src": "742:5:1",
"type": ""
}
],
"src": "696:139:1"
},
{
"body": {
"nativeSrc": "907:263:1",
"nodeType": "YulBlock",
"src": "907:263:1",
"statements": [
{
"body": {
"nativeSrc": "953:83:1",
"nodeType": "YulBlock",
"src": "953:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "955:77:1",
"nodeType": "YulIdentifier",
"src": "955:77:1"
},
"nativeSrc": "955:79:1",
"nodeType": "YulFunctionCall",
"src": "955:79:1"
},
"nativeSrc": "955:79:1",
"nodeType": "YulExpressionStatement",
"src": "955:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "928:7:1",
"nodeType": "YulIdentifier",
"src": "928:7:1"
},
{
"name": "headStart",
"nativeSrc": "937:9:1",
"nodeType": "YulIdentifier",
"src": "937:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "924:3:1",
"nodeType": "YulIdentifier",
"src": "924:3:1"
},
"nativeSrc": "924:23:1",
"nodeType": "YulFunctionCall",
"src": "924:23:1"
},
{
"kind": "number",
"nativeSrc": "949:2:1",
"nodeType": "YulLiteral",
"src": "949:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "920:3:1",
"nodeType": "YulIdentifier",
"src": "920:3:1"
},
"nativeSrc": "920:32:1",
"nodeType": "YulFunctionCall",
"src": "920:32:1"
},
"nativeSrc": "917:119:1",
"nodeType": "YulIf",
"src": "917:119:1"
},
{
"nativeSrc": "1046:117:1",
"nodeType": "YulBlock",
"src": "1046:117:1",
"statements": [
{
"nativeSrc": "1061:15:1",
"nodeType": "YulVariableDeclaration",
"src": "1061:15:1",
"value": {
"kind": "number",
"nativeSrc": "1075:1:1",
"nodeType": "YulLiteral",
"src": "1075:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "1065:6:1",
"nodeType": "YulTypedName",
"src": "1065:6:1",
"type": ""
}
]
},
{
"nativeSrc": "1090:63:1",
"nodeType": "YulAssignment",
"src": "1090:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1125:9:1",
"nodeType": "YulIdentifier",
"src": "1125:9:1"
},
{
"name": "offset",
"nativeSrc": "1136:6:1",
"nodeType": "YulIdentifier",
"src": "1136:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1121:3:1",
"nodeType": "YulIdentifier",
"src": "1121:3:1"
},
"nativeSrc": "1121:22:1",
"nodeType": "YulFunctionCall",
"src": "1121:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "1145:7:1",
"nodeType": "YulIdentifier",
"src": "1145:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "1100:20:1",
"nodeType": "YulIdentifier",
"src": "1100:20:1"
},
"nativeSrc": "1100:53:1",
"nodeType": "YulFunctionCall",
"src": "1100:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "1090:6:1",
"nodeType": "YulIdentifier",
"src": "1090:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nativeSrc": "841:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "877:9:1",
"nodeType": "YulTypedName",
"src": "877:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "888:7:1",
"nodeType": "YulTypedName",
"src": "888:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "900:6:1",
"nodeType": "YulTypedName",
"src": "900:6:1",
"type": ""
}
],
"src": "841:329:1"
},
{
"body": {
"nativeSrc": "1221:32:1",
"nodeType": "YulBlock",
"src": "1221:32:1",
"statements": [
{
"nativeSrc": "1231:16:1",
"nodeType": "YulAssignment",
"src": "1231:16:1",
"value": {
"name": "value",
"nativeSrc": "1242:5:1",
"nodeType": "YulIdentifier",
"src": "1242:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1231:7:1",
"nodeType": "YulIdentifier",
"src": "1231:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "1176:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1203:5:1",
"nodeType": "YulTypedName",
"src": "1203:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1213:7:1",
"nodeType": "YulTypedName",
"src": "1213:7:1",
"type": ""
}
],
"src": "1176:77:1"
},
{
"body": {
"nativeSrc": "1324:53:1",
"nodeType": "YulBlock",
"src": "1324:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1341:3:1",
"nodeType": "YulIdentifier",
"src": "1341:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1364:5:1",
"nodeType": "YulIdentifier",
"src": "1364:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1346:17:1",
"nodeType": "YulIdentifier",
"src": "1346:17:1"
},
"nativeSrc": "1346:24:1",
"nodeType": "YulFunctionCall",
"src": "1346:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1334:6:1",
"nodeType": "YulIdentifier",
"src": "1334:6:1"
},
"nativeSrc": "1334:37:1",
"nodeType": "YulFunctionCall",
"src": "1334:37:1"
},
"nativeSrc": "1334:37:1",
"nodeType": "YulExpressionStatement",
"src": "1334:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1259:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1312:5:1",
"nodeType": "YulTypedName",
"src": "1312:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1319:3:1",
"nodeType": "YulTypedName",
"src": "1319:3:1",
"type": ""
}
],
"src": "1259:118:1"
},
{
"body": {
"nativeSrc": "1481:124:1",
"nodeType": "YulBlock",
"src": "1481:124:1",
"statements": [
{
"nativeSrc": "1491:26:1",
"nodeType": "YulAssignment",
"src": "1491:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1503:9:1",
"nodeType": "YulIdentifier",
"src": "1503:9:1"
},
{
"kind": "number",
"nativeSrc": "1514:2:1",
"nodeType": "YulLiteral",
"src": "1514:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1499:3:1",
"nodeType": "YulIdentifier",
"src": "1499:3:1"
},
"nativeSrc": "1499:18:1",
"nodeType": "YulFunctionCall",
"src": "1499:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1491:4:1",
"nodeType": "YulIdentifier",
"src": "1491:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1571:6:1",
"nodeType": "YulIdentifier",
"src": "1571:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1584:9:1",
"nodeType": "YulIdentifier",
"src": "1584:9:1"
},
{
"kind": "number",
"nativeSrc": "1595:1:1",
"nodeType": "YulLiteral",
"src": "1595:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1580:3:1",
"nodeType": "YulIdentifier",
"src": "1580:3:1"
},
"nativeSrc": "1580:17:1",
"nodeType": "YulFunctionCall",
"src": "1580:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1527:43:1",
"nodeType": "YulIdentifier",
"src": "1527:43:1"
},
"nativeSrc": "1527:71:1",
"nodeType": "YulFunctionCall",
"src": "1527:71:1"
},
"nativeSrc": "1527:71:1",
"nodeType": "YulExpressionStatement",
"src": "1527:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "1383:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1453:9:1",
"nodeType": "YulTypedName",
"src": "1453:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1465:6:1",
"nodeType": "YulTypedName",
"src": "1465:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1476:4:1",
"nodeType": "YulTypedName",
"src": "1476:4:1",
"type": ""
}
],
"src": "1383:222:1"
},
{
"body": {
"nativeSrc": "1700:28:1",
"nodeType": "YulBlock",
"src": "1700:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1717:1:1",
"nodeType": "YulLiteral",
"src": "1717:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1720:1:1",
"nodeType": "YulLiteral",
"src": "1720:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1710:6:1",
"nodeType": "YulIdentifier",
"src": "1710:6:1"
},
"nativeSrc": "1710:12:1",
"nodeType": "YulFunctionCall",
"src": "1710:12:1"
},
"nativeSrc": "1710:12:1",
"nodeType": "YulExpressionStatement",
"src": "1710:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "1611:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1611:117:1"
},
{
"body": {
"nativeSrc": "1823:28:1",
"nodeType": "YulBlock",
"src": "1823:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1840:1:1",
"nodeType": "YulLiteral",
"src": "1840:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1843:1:1",
"nodeType": "YulLiteral",
"src": "1843:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1833:6:1",
"nodeType": "YulIdentifier",
"src": "1833:6:1"
},
"nativeSrc": "1833:12:1",
"nodeType": "YulFunctionCall",
"src": "1833:12:1"
},
"nativeSrc": "1833:12:1",
"nodeType": "YulExpressionStatement",
"src": "1833:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "1734:117:1",
"nodeType": "YulFunctionDefinition",
"src": "1734:117:1"
},
{
"body": {
"nativeSrc": "1905:54:1",
"nodeType": "YulBlock",
"src": "1905:54:1",
"statements": [
{
"nativeSrc": "1915:38:1",
"nodeType": "YulAssignment",
"src": "1915:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1933:5:1",
"nodeType": "YulIdentifier",
"src": "1933:5:1"
},
{
"kind": "number",
"nativeSrc": "1940:2:1",
"nodeType": "YulLiteral",
"src": "1940:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1929:3:1",
"nodeType": "YulIdentifier",
"src": "1929:3:1"
},
"nativeSrc": "1929:14:1",
"nodeType": "YulFunctionCall",
"src": "1929:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "1949:2:1",
"nodeType": "YulLiteral",
"src": "1949:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1945:3:1",
"nodeType": "YulIdentifier",
"src": "1945:3:1"
},
"nativeSrc": "1945:7:1",
"nodeType": "YulFunctionCall",
"src": "1945:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1925:3:1",
"nodeType": "YulIdentifier",
"src": "1925:3:1"
},
"nativeSrc": "1925:28:1",
"nodeType": "YulFunctionCall",
"src": "1925:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1915:6:1",
"nodeType": "YulIdentifier",
"src": "1915:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "1857:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1888:5:1",
"nodeType": "YulTypedName",
"src": "1888:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "1898:6:1",
"nodeType": "YulTypedName",
"src": "1898:6:1",
"type": ""
}
],
"src": "1857:102:1"
},
{
"body": {
"nativeSrc": "1993:152:1",
"nodeType": "YulBlock",
"src": "1993:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2010:1:1",
"nodeType": "YulLiteral",
"src": "2010:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2013:77:1",
"nodeType": "YulLiteral",
"src": "2013:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2003:6:1",
"nodeType": "YulIdentifier",
"src": "2003:6:1"
},
"nativeSrc": "2003:88:1",
"nodeType": "YulFunctionCall",
"src": "2003:88:1"
},
"nativeSrc": "2003:88:1",
"nodeType": "YulExpressionStatement",
"src": "2003:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2107:1:1",
"nodeType": "YulLiteral",
"src": "2107:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "2110:4:1",
"nodeType": "YulLiteral",
"src": "2110:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2100:6:1",
"nodeType": "YulIdentifier",
"src": "2100:6:1"
},
"nativeSrc": "2100:15:1",
"nodeType": "YulFunctionCall",
"src": "2100:15:1"
},
"nativeSrc": "2100:15:1",
"nodeType": "YulExpressionStatement",
"src": "2100:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2131:1:1",
"nodeType": "YulLiteral",
"src": "2131:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "2134:4:1",
"nodeType": "YulLiteral",
"src": "2134:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "2124:6:1",
"nodeType": "YulIdentifier",
"src": "2124:6:1"
},
"nativeSrc": "2124:15:1",
"nodeType": "YulFunctionCall",
"src": "2124:15:1"
},
"nativeSrc": "2124:15:1",
"nodeType": "YulExpressionStatement",
"src": "2124:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "1965:180:1",
"nodeType": "YulFunctionDefinition",
"src": "1965:180:1"
},
{
"body": {
"nativeSrc": "2194:238:1",
"nodeType": "YulBlock",
"src": "2194:238:1",
"statements": [
{
"nativeSrc": "2204:58:1",
"nodeType": "YulVariableDeclaration",
"src": "2204:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "2226:6:1",
"nodeType": "YulIdentifier",
"src": "2226:6:1"
},
{
"arguments": [
{
"name": "size",
"nativeSrc": "2256:4:1",
"nodeType": "YulIdentifier",
"src": "2256:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "2234:21:1",
"nodeType": "YulIdentifier",
"src": "2234:21:1"
},
"nativeSrc": "2234:27:1",
"nodeType": "YulFunctionCall",
"src": "2234:27:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2222:3:1",
"nodeType": "YulIdentifier",
"src": "2222:3:1"
},
"nativeSrc": "2222:40:1",
"nodeType": "YulFunctionCall",
"src": "2222:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nativeSrc": "2208:10:1",
"nodeType": "YulTypedName",
"src": "2208:10:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "2373:22:1",
"nodeType": "YulBlock",
"src": "2373:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "2375:16:1",
"nodeType": "YulIdentifier",
"src": "2375:16:1"
},
"nativeSrc": "2375:18:1",
"nodeType": "YulFunctionCall",
"src": "2375:18:1"
},
"nativeSrc": "2375:18:1",
"nodeType": "YulExpressionStatement",
"src": "2375:18:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "2316:10:1",
"nodeType": "YulIdentifier",
"src": "2316:10:1"
},
{
"kind": "number",
"nativeSrc": "2328:18:1",
"nodeType": "YulLiteral",
"src": "2328:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2313:2:1",
"nodeType": "YulIdentifier",
"src": "2313:2:1"
},
"nativeSrc": "2313:34:1",
"nodeType": "YulFunctionCall",
"src": "2313:34:1"
},
{
"arguments": [
{
"name": "newFreePtr",
"nativeSrc": "2352:10:1",
"nodeType": "YulIdentifier",
"src": "2352:10:1"
},
{
"name": "memPtr",
"nativeSrc": "2364:6:1",
"nodeType": "YulIdentifier",
"src": "2364:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "2349:2:1",
"nodeType": "YulIdentifier",
"src": "2349:2:1"
},
"nativeSrc": "2349:22:1",
"nodeType": "YulFunctionCall",
"src": "2349:22:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "2310:2:1",
"nodeType": "YulIdentifier",
"src": "2310:2:1"
},
"nativeSrc": "2310:62:1",
"nodeType": "YulFunctionCall",
"src": "2310:62:1"
},
"nativeSrc": "2307:88:1",
"nodeType": "YulIf",
"src": "2307:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "2411:2:1",
"nodeType": "YulLiteral",
"src": "2411:2:1",
"type": "",
"value": "64"
},
{
"name": "newFreePtr",
"nativeSrc": "2415:10:1",
"nodeType": "YulIdentifier",
"src": "2415:10:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2404:6:1",
"nodeType": "YulIdentifier",
"src": "2404:6:1"
},
"nativeSrc": "2404:22:1",
"nodeType": "YulFunctionCall",
"src": "2404:22:1"
},
"nativeSrc": "2404:22:1",
"nodeType": "YulExpressionStatement",
"src": "2404:22:1"
}
]
},
"name": "finalize_allocation",
"nativeSrc": "2151:281:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nativeSrc": "2180:6:1",
"nodeType": "YulTypedName",
"src": "2180:6:1",
"type": ""
},
{
"name": "size",
"nativeSrc": "2188:4:1",
"nodeType": "YulTypedName",
"src": "2188:4:1",
"type": ""
}
],
"src": "2151:281:1"
},
{
"body": {
"nativeSrc": "2479:88:1",
"nodeType": "YulBlock",
"src": "2479:88:1",
"statements": [
{
"nativeSrc": "2489:30:1",
"nodeType": "YulAssignment",
"src": "2489:30:1",
"value": {
"arguments": [],
"functionName": {
"name": "allocate_unbounded",
"nativeSrc": "2499:18:1",
"nodeType": "YulIdentifier",
"src": "2499:18:1"
},
"nativeSrc": "2499:20:1",
"nodeType": "YulFunctionCall",
"src": "2499:20:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "2489:6:1",
"nodeType": "YulIdentifier",
"src": "2489:6:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "2548:6:1",
"nodeType": "YulIdentifier",
"src": "2548:6:1"
},
{
"name": "size",
"nativeSrc": "2556:4:1",
"nodeType": "YulIdentifier",
"src": "2556:4:1"
}
],
"functionName": {
"name": "finalize_allocation",
"nativeSrc": "2528:19:1",
"nodeType": "YulIdentifier",
"src": "2528:19:1"
},
"nativeSrc": "2528:33:1",
"nodeType": "YulFunctionCall",
"src": "2528:33:1"
},
"nativeSrc": "2528:33:1",
"nodeType": "YulExpressionStatement",
"src": "2528:33:1"
}
]
},
"name": "allocate_memory",
"nativeSrc": "2438:129:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "size",
"nativeSrc": "2463:4:1",
"nodeType": "YulTypedName",
"src": "2463:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "2472:6:1",
"nodeType": "YulTypedName",
"src": "2472:6:1",
"type": ""
}
],
"src": "2438:129:1"
},
{
"body": {
"nativeSrc": "2640:241:1",
"nodeType": "YulBlock",
"src": "2640:241:1",
"statements": [
{
"body": {
"nativeSrc": "2745:22:1",
"nodeType": "YulBlock",
"src": "2745:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "2747:16:1",
"nodeType": "YulIdentifier",
"src": "2747:16:1"
},
"nativeSrc": "2747:18:1",
"nodeType": "YulFunctionCall",
"src": "2747:18:1"
},
"nativeSrc": "2747:18:1",
"nodeType": "YulExpressionStatement",
"src": "2747:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "length",
"nativeSrc": "2717:6:1",
"nodeType": "YulIdentifier",
"src": "2717:6:1"
},
{
"kind": "number",
"nativeSrc": "2725:18:1",
"nodeType": "YulLiteral",
"src": "2725:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2714:2:1",
"nodeType": "YulIdentifier",
"src": "2714:2:1"
},
"nativeSrc": "2714:30:1",
"nodeType": "YulFunctionCall",
"src": "2714:30:1"
},
"nativeSrc": "2711:56:1",
"nodeType": "YulIf",
"src": "2711:56:1"
},
{
"nativeSrc": "2777:37:1",
"nodeType": "YulAssignment",
"src": "2777:37:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "2807:6:1",
"nodeType": "YulIdentifier",
"src": "2807:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "2785:21:1",
"nodeType": "YulIdentifier",
"src": "2785:21:1"
},
"nativeSrc": "2785:29:1",
"nodeType": "YulFunctionCall",
"src": "2785:29:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "2777:4:1",
"nodeType": "YulIdentifier",
"src": "2777:4:1"
}
]
},
{
"nativeSrc": "2851:23:1",
"nodeType": "YulAssignment",
"src": "2851:23:1",
"value": {
"arguments": [
{
"name": "size",
"nativeSrc": "2863:4:1",
"nodeType": "YulIdentifier",
"src": "2863:4:1"
},
{
"kind": "number",
"nativeSrc": "2869:4:1",
"nodeType": "YulLiteral",
"src": "2869:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2859:3:1",
"nodeType": "YulIdentifier",
"src": "2859:3:1"
},
"nativeSrc": "2859:15:1",
"nodeType": "YulFunctionCall",
"src": "2859:15:1"
},
"variableNames": [
{
"name": "size",
"nativeSrc": "2851:4:1",
"nodeType": "YulIdentifier",
"src": "2851:4:1"
}
]
}
]
},
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "2573:308:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "length",
"nativeSrc": "2624:6:1",
"nodeType": "YulTypedName",
"src": "2624:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "size",
"nativeSrc": "2635:4:1",
"nodeType": "YulTypedName",
"src": "2635:4:1",
"type": ""
}
],
"src": "2573:308:1"
},
{
"body": {
"nativeSrc": "2951:82:1",
"nodeType": "YulBlock",
"src": "2951:82:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dst",
"nativeSrc": "2974:3:1",
"nodeType": "YulIdentifier",
"src": "2974:3:1"
},
{
"name": "src",
"nativeSrc": "2979:3:1",
"nodeType": "YulIdentifier",
"src": "2979:3:1"
},
{
"name": "length",
"nativeSrc": "2984:6:1",
"nodeType": "YulIdentifier",
"src": "2984:6:1"
}
],
"functionName": {
"name": "calldatacopy",
"nativeSrc": "2961:12:1",
"nodeType": "YulIdentifier",
"src": "2961:12:1"
},
"nativeSrc": "2961:30:1",
"nodeType": "YulFunctionCall",
"src": "2961:30:1"
},
"nativeSrc": "2961:30:1",
"nodeType": "YulExpressionStatement",
"src": "2961:30:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "3011:3:1",
"nodeType": "YulIdentifier",
"src": "3011:3:1"
},
{
"name": "length",
"nativeSrc": "3016:6:1",
"nodeType": "YulIdentifier",
"src": "3016:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3007:3:1",
"nodeType": "YulIdentifier",
"src": "3007:3:1"
},
"nativeSrc": "3007:16:1",
"nodeType": "YulFunctionCall",
"src": "3007:16:1"
},
{
"kind": "number",
"nativeSrc": "3025:1:1",
"nodeType": "YulLiteral",
"src": "3025:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3000:6:1",
"nodeType": "YulIdentifier",
"src": "3000:6:1"
},
"nativeSrc": "3000:27:1",
"nodeType": "YulFunctionCall",
"src": "3000:27:1"
},
"nativeSrc": "3000:27:1",
"nodeType": "YulExpressionStatement",
"src": "3000:27:1"
}
]
},
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "2887:146:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "2933:3:1",
"nodeType": "YulTypedName",
"src": "2933:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "2938:3:1",
"nodeType": "YulTypedName",
"src": "2938:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "2943:6:1",
"nodeType": "YulTypedName",
"src": "2943:6:1",
"type": ""
}
],
"src": "2887:146:1"
},
{
"body": {
"nativeSrc": "3123:341:1",
"nodeType": "YulBlock",
"src": "3123:341:1",
"statements": [
{
"nativeSrc": "3133:75:1",
"nodeType": "YulAssignment",
"src": "3133:75:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "length",
"nativeSrc": "3200:6:1",
"nodeType": "YulIdentifier",
"src": "3200:6:1"
}
],
"functionName": {
"name": "array_allocation_size_t_string_memory_ptr",
"nativeSrc": "3158:41:1",
"nodeType": "YulIdentifier",
"src": "3158:41:1"
},
"nativeSrc": "3158:49:1",
"nodeType": "YulFunctionCall",
"src": "3158:49:1"
}
],
"functionName": {
"name": "allocate_memory",
"nativeSrc": "3142:15:1",
"nodeType": "YulIdentifier",
"src": "3142:15:1"
},
"nativeSrc": "3142:66:1",
"nodeType": "YulFunctionCall",
"src": "3142:66:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "3133:5:1",
"nodeType": "YulIdentifier",
"src": "3133:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "array",
"nativeSrc": "3224:5:1",
"nodeType": "YulIdentifier",
"src": "3224:5:1"
},
{
"name": "length",
"nativeSrc": "3231:6:1",
"nodeType": "YulIdentifier",
"src": "3231:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3217:6:1",
"nodeType": "YulIdentifier",
"src": "3217:6:1"
},
"nativeSrc": "3217:21:1",
"nodeType": "YulFunctionCall",
"src": "3217:21:1"
},
"nativeSrc": "3217:21:1",
"nodeType": "YulExpressionStatement",
"src": "3217:21:1"
},
{
"nativeSrc": "3247:27:1",
"nodeType": "YulVariableDeclaration",
"src": "3247:27:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "3262:5:1",
"nodeType": "YulIdentifier",
"src": "3262:5:1"
},
{
"kind": "number",
"nativeSrc": "3269:4:1",
"nodeType": "YulLiteral",
"src": "3269:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3258:3:1",
"nodeType": "YulIdentifier",
"src": "3258:3:1"
},
"nativeSrc": "3258:16:1",
"nodeType": "YulFunctionCall",
"src": "3258:16:1"
},
"variables": [
{
"name": "dst",
"nativeSrc": "3251:3:1",
"nodeType": "YulTypedName",
"src": "3251:3:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "3312:83:1",
"nodeType": "YulBlock",
"src": "3312:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "3314:77:1",
"nodeType": "YulIdentifier",
"src": "3314:77:1"
},
"nativeSrc": "3314:79:1",
"nodeType": "YulFunctionCall",
"src": "3314:79:1"
},
"nativeSrc": "3314:79:1",
"nodeType": "YulExpressionStatement",
"src": "3314:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "3293:3:1",
"nodeType": "YulIdentifier",
"src": "3293:3:1"
},
{
"name": "length",
"nativeSrc": "3298:6:1",
"nodeType": "YulIdentifier",
"src": "3298:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3289:3:1",
"nodeType": "YulIdentifier",
"src": "3289:3:1"
},
"nativeSrc": "3289:16:1",
"nodeType": "YulFunctionCall",
"src": "3289:16:1"
},
{
"name": "end",
"nativeSrc": "3307:3:1",
"nodeType": "YulIdentifier",
"src": "3307:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "3286:2:1",
"nodeType": "YulIdentifier",
"src": "3286:2:1"
},
"nativeSrc": "3286:25:1",
"nodeType": "YulFunctionCall",
"src": "3286:25:1"
},
"nativeSrc": "3283:112:1",
"nodeType": "YulIf",
"src": "3283:112:1"
},
{
"expression": {
"arguments": [
{
"name": "src",
"nativeSrc": "3441:3:1",
"nodeType": "YulIdentifier",
"src": "3441:3:1"
},
{
"name": "dst",
"nativeSrc": "3446:3:1",
"nodeType": "YulIdentifier",
"src": "3446:3:1"
},
{
"name": "length",
"nativeSrc": "3451:6:1",
"nodeType": "YulIdentifier",
"src": "3451:6:1"
}
],
"functionName": {
"name": "copy_calldata_to_memory_with_cleanup",
"nativeSrc": "3404:36:1",
"nodeType": "YulIdentifier",
"src": "3404:36:1"
},
"nativeSrc": "3404:54:1",
"nodeType": "YulFunctionCall",
"src": "3404:54:1"
},
"nativeSrc": "3404:54:1",
"nodeType": "YulExpressionStatement",
"src": "3404:54:1"
}
]
},
"name": "abi_decode_available_length_t_string_memory_ptr",
"nativeSrc": "3039:425:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "3096:3:1",
"nodeType": "YulTypedName",
"src": "3096:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "3101:6:1",
"nodeType": "YulTypedName",
"src": "3101:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "3109:3:1",
"nodeType": "YulTypedName",
"src": "3109:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "3117:5:1",
"nodeType": "YulTypedName",
"src": "3117:5:1",
"type": ""
}
],
"src": "3039:425:1"
},
{
"body": {
"nativeSrc": "3546:278:1",
"nodeType": "YulBlock",
"src": "3546:278:1",
"statements": [
{
"body": {
"nativeSrc": "3595:83:1",
"nodeType": "YulBlock",
"src": "3595:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "3597:77:1",
"nodeType": "YulIdentifier",
"src": "3597:77:1"
},
"nativeSrc": "3597:79:1",
"nodeType": "YulFunctionCall",
"src": "3597:79:1"
},
"nativeSrc": "3597:79:1",
"nodeType": "YulExpressionStatement",
"src": "3597:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "3574:6:1",
"nodeType": "YulIdentifier",
"src": "3574:6:1"
},
{
"kind": "number",
"nativeSrc": "3582:4:1",
"nodeType": "YulLiteral",
"src": "3582:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3570:3:1",
"nodeType": "YulIdentifier",
"src": "3570:3:1"
},
"nativeSrc": "3570:17:1",
"nodeType": "YulFunctionCall",
"src": "3570:17:1"
},
{
"name": "end",
"nativeSrc": "3589:3:1",
"nodeType": "YulIdentifier",
"src": "3589:3:1"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "3566:3:1",
"nodeType": "YulIdentifier",
"src": "3566:3:1"
},
"nativeSrc": "3566:27:1",
"nodeType": "YulFunctionCall",
"src": "3566:27:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "3559:6:1",
"nodeType": "YulIdentifier",
"src": "3559:6:1"
},
"nativeSrc": "3559:35:1",
"nodeType": "YulFunctionCall",
"src": "3559:35:1"
},
"nativeSrc": "3556:122:1",
"nodeType": "YulIf",
"src": "3556:122:1"
},
{
"nativeSrc": "3687:34:1",
"nodeType": "YulVariableDeclaration",
"src": "3687:34:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "3714:6:1",
"nodeType": "YulIdentifier",
"src": "3714:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "3701:12:1",
"nodeType": "YulIdentifier",
"src": "3701:12:1"
},
"nativeSrc": "3701:20:1",
"nodeType": "YulFunctionCall",
"src": "3701:20:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "3691:6:1",
"nodeType": "YulTypedName",
"src": "3691:6:1",
"type": ""
}
]
},
{
"nativeSrc": "3730:88:1",
"nodeType": "YulAssignment",
"src": "3730:88:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "offset",
"nativeSrc": "3791:6:1",
"nodeType": "YulIdentifier",
"src": "3791:6:1"
},
{
"kind": "number",
"nativeSrc": "3799:4:1",
"nodeType": "YulLiteral",
"src": "3799:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3787:3:1",
"nodeType": "YulIdentifier",
"src": "3787:3:1"
},
"nativeSrc": "3787:17:1",
"nodeType": "YulFunctionCall",
"src": "3787:17:1"
},
{
"name": "length",
"nativeSrc": "3806:6:1",
"nodeType": "YulIdentifier",
"src": "3806:6:1"
},
{
"name": "end",
"nativeSrc": "3814:3:1",
"nodeType": "YulIdentifier",
"src": "3814:3:1"
}
],
"functionName": {
"name": "abi_decode_available_length_t_string_memory_ptr",
"nativeSrc": "3739:47:1",
"nodeType": "YulIdentifier",
"src": "3739:47:1"
},
"nativeSrc": "3739:79:1",
"nodeType": "YulFunctionCall",
"src": "3739:79:1"
},
"variableNames": [
{
"name": "array",
"nativeSrc": "3730:5:1",
"nodeType": "YulIdentifier",
"src": "3730:5:1"
}
]
}
]
},
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "3484:340:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "3524:6:1",
"nodeType": "YulTypedName",
"src": "3524:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "3532:3:1",
"nodeType": "YulTypedName",
"src": "3532:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "array",
"nativeSrc": "3540:5:1",
"nodeType": "YulTypedName",
"src": "3540:5:1",
"type": ""
}
],
"src": "3484:340:1"
},
{
"body": {
"nativeSrc": "3873:79:1",
"nodeType": "YulBlock",
"src": "3873:79:1",
"statements": [
{
"body": {
"nativeSrc": "3930:16:1",
"nodeType": "YulBlock",
"src": "3930:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "3939:1:1",
"nodeType": "YulLiteral",
"src": "3939:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "3942:1:1",
"nodeType": "YulLiteral",
"src": "3942:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "3932:6:1",
"nodeType": "YulIdentifier",
"src": "3932:6:1"
},
"nativeSrc": "3932:12:1",
"nodeType": "YulFunctionCall",
"src": "3932:12:1"
},
"nativeSrc": "3932:12:1",
"nodeType": "YulExpressionStatement",
"src": "3932:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "3896:5:1",
"nodeType": "YulIdentifier",
"src": "3896:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "3921:5:1",
"nodeType": "YulIdentifier",
"src": "3921:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "3903:17:1",
"nodeType": "YulIdentifier",
"src": "3903:17:1"
},
"nativeSrc": "3903:24:1",
"nodeType": "YulFunctionCall",
"src": "3903:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "3893:2:1",
"nodeType": "YulIdentifier",
"src": "3893:2:1"
},
"nativeSrc": "3893:35:1",
"nodeType": "YulFunctionCall",
"src": "3893:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "3886:6:1",
"nodeType": "YulIdentifier",
"src": "3886:6:1"
},
"nativeSrc": "3886:43:1",
"nodeType": "YulFunctionCall",
"src": "3886:43:1"
},
"nativeSrc": "3883:63:1",
"nodeType": "YulIf",
"src": "3883:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "3830:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "3866:5:1",
"nodeType": "YulTypedName",
"src": "3866:5:1",
"type": ""
}
],
"src": "3830:122:1"
},
{
"body": {
"nativeSrc": "4010:87:1",
"nodeType": "YulBlock",
"src": "4010:87:1",
"statements": [
{
"nativeSrc": "4020:29:1",
"nodeType": "YulAssignment",
"src": "4020:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "4042:6:1",
"nodeType": "YulIdentifier",
"src": "4042:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "4029:12:1",
"nodeType": "YulIdentifier",
"src": "4029:12:1"
},
"nativeSrc": "4029:20:1",
"nodeType": "YulFunctionCall",
"src": "4029:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "4020:5:1",
"nodeType": "YulIdentifier",
"src": "4020:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "4085:5:1",
"nodeType": "YulIdentifier",
"src": "4085:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "4058:26:1",
"nodeType": "YulIdentifier",
"src": "4058:26:1"
},
"nativeSrc": "4058:33:1",
"nodeType": "YulFunctionCall",
"src": "4058:33:1"
},
"nativeSrc": "4058:33:1",
"nodeType": "YulExpressionStatement",
"src": "4058:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "3958:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "3988:6:1",
"nodeType": "YulTypedName",
"src": "3988:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "3996:3:1",
"nodeType": "YulTypedName",
"src": "3996:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "4004:5:1",
"nodeType": "YulTypedName",
"src": "4004:5:1",
"type": ""
}
],
"src": "3958:139:1"
},
{
"body": {
"nativeSrc": "4196:561:1",
"nodeType": "YulBlock",
"src": "4196:561:1",
"statements": [
{
"body": {
"nativeSrc": "4242:83:1",
"nodeType": "YulBlock",
"src": "4242:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "4244:77:1",
"nodeType": "YulIdentifier",
"src": "4244:77:1"
},
"nativeSrc": "4244:79:1",
"nodeType": "YulFunctionCall",
"src": "4244:79:1"
},
"nativeSrc": "4244:79:1",
"nodeType": "YulExpressionStatement",
"src": "4244:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "4217:7:1",
"nodeType": "YulIdentifier",
"src": "4217:7:1"
},
{
"name": "headStart",
"nativeSrc": "4226:9:1",
"nodeType": "YulIdentifier",
"src": "4226:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "4213:3:1",
"nodeType": "YulIdentifier",
"src": "4213:3:1"
},
"nativeSrc": "4213:23:1",
"nodeType": "YulFunctionCall",
"src": "4213:23:1"
},
{
"kind": "number",
"nativeSrc": "4238:2:1",
"nodeType": "YulLiteral",
"src": "4238:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "4209:3:1",
"nodeType": "YulIdentifier",
"src": "4209:3:1"
},
"nativeSrc": "4209:32:1",
"nodeType": "YulFunctionCall",
"src": "4209:32:1"
},
"nativeSrc": "4206:119:1",
"nodeType": "YulIf",
"src": "4206:119:1"
},
{
"nativeSrc": "4335:287:1",
"nodeType": "YulBlock",
"src": "4335:287:1",
"statements": [
{
"nativeSrc": "4350:45:1",
"nodeType": "YulVariableDeclaration",
"src": "4350:45:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4381:9:1",
"nodeType": "YulIdentifier",
"src": "4381:9:1"
},
{
"kind": "number",
"nativeSrc": "4392:1:1",
"nodeType": "YulLiteral",
"src": "4392:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4377:3:1",
"nodeType": "YulIdentifier",
"src": "4377:3:1"
},
"nativeSrc": "4377:17:1",
"nodeType": "YulFunctionCall",
"src": "4377:17:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "4364:12:1",
"nodeType": "YulIdentifier",
"src": "4364:12:1"
},
"nativeSrc": "4364:31:1",
"nodeType": "YulFunctionCall",
"src": "4364:31:1"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4354:6:1",
"nodeType": "YulTypedName",
"src": "4354:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4442:83:1",
"nodeType": "YulBlock",
"src": "4442:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "4444:77:1",
"nodeType": "YulIdentifier",
"src": "4444:77:1"
},
"nativeSrc": "4444:79:1",
"nodeType": "YulFunctionCall",
"src": "4444:79:1"
},
"nativeSrc": "4444:79:1",
"nodeType": "YulExpressionStatement",
"src": "4444:79:1"
}
]
},
"condition": {
"arguments": [
{
"name": "offset",
"nativeSrc": "4414:6:1",
"nodeType": "YulIdentifier",
"src": "4414:6:1"
},
{
"kind": "number",
"nativeSrc": "4422:18:1",
"nodeType": "YulLiteral",
"src": "4422:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4411:2:1",
"nodeType": "YulIdentifier",
"src": "4411:2:1"
},
"nativeSrc": "4411:30:1",
"nodeType": "YulFunctionCall",
"src": "4411:30:1"
},
"nativeSrc": "4408:117:1",
"nodeType": "YulIf",
"src": "4408:117:1"
},
{
"nativeSrc": "4539:73:1",
"nodeType": "YulAssignment",
"src": "4539:73:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4584:9:1",
"nodeType": "YulIdentifier",
"src": "4584:9:1"
},
{
"name": "offset",
"nativeSrc": "4595:6:1",
"nodeType": "YulIdentifier",
"src": "4595:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4580:3:1",
"nodeType": "YulIdentifier",
"src": "4580:3:1"
},
"nativeSrc": "4580:22:1",
"nodeType": "YulFunctionCall",
"src": "4580:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4604:7:1",
"nodeType": "YulIdentifier",
"src": "4604:7:1"
}
],
"functionName": {
"name": "abi_decode_t_string_memory_ptr",
"nativeSrc": "4549:30:1",
"nodeType": "YulIdentifier",
"src": "4549:30:1"
},
"nativeSrc": "4549:63:1",
"nodeType": "YulFunctionCall",
"src": "4549:63:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "4539:6:1",
"nodeType": "YulIdentifier",
"src": "4539:6:1"
}
]
}
]
},
{
"nativeSrc": "4632:118:1",
"nodeType": "YulBlock",
"src": "4632:118:1",
"statements": [
{
"nativeSrc": "4647:16:1",
"nodeType": "YulVariableDeclaration",
"src": "4647:16:1",
"value": {
"kind": "number",
"nativeSrc": "4661:2:1",
"nodeType": "YulLiteral",
"src": "4661:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4651:6:1",
"nodeType": "YulTypedName",
"src": "4651:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4677:63:1",
"nodeType": "YulAssignment",
"src": "4677:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "4712:9:1",
"nodeType": "YulIdentifier",
"src": "4712:9:1"
},
{
"name": "offset",
"nativeSrc": "4723:6:1",
"nodeType": "YulIdentifier",
"src": "4723:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4708:3:1",
"nodeType": "YulIdentifier",
"src": "4708:3:1"
},
"nativeSrc": "4708:22:1",
"nodeType": "YulFunctionCall",
"src": "4708:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4732:7:1",
"nodeType": "YulIdentifier",
"src": "4732:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "4687:20:1",
"nodeType": "YulIdentifier",
"src": "4687:20:1"
},
"nativeSrc": "4687:53:1",
"nodeType": "YulFunctionCall",
"src": "4687:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "4677:6:1",
"nodeType": "YulIdentifier",
"src": "4677:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_string_memory_ptrt_uint256",
"nativeSrc": "4103:654:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "4158:9:1",
"nodeType": "YulTypedName",
"src": "4158:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "4169:7:1",
"nodeType": "YulTypedName",
"src": "4169:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "4181:6:1",
"nodeType": "YulTypedName",
"src": "4181:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "4189:6:1",
"nodeType": "YulTypedName",
"src": "4189:6:1",
"type": ""
}
],
"src": "4103:654:1"
},
{
"body": {
"nativeSrc": "4829:263:1",
"nodeType": "YulBlock",
"src": "4829:263:1",
"statements": [
{
"body": {
"nativeSrc": "4875:83:1",
"nodeType": "YulBlock",
"src": "4875:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "4877:77:1",
"nodeType": "YulIdentifier",
"src": "4877:77:1"
},
"nativeSrc": "4877:79:1",
"nodeType": "YulFunctionCall",
"src": "4877:79:1"
},
"nativeSrc": "4877:79:1",
"nodeType": "YulExpressionStatement",
"src": "4877:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "4850:7:1",
"nodeType": "YulIdentifier",
"src": "4850:7:1"
},
{
"name": "headStart",
"nativeSrc": "4859:9:1",
"nodeType": "YulIdentifier",
"src": "4859:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "4846:3:1",
"nodeType": "YulIdentifier",
"src": "4846:3:1"
},
"nativeSrc": "4846:23:1",
"nodeType": "YulFunctionCall",
"src": "4846:23:1"
},
{
"kind": "number",
"nativeSrc": "4871:2:1",
"nodeType": "YulLiteral",
"src": "4871:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "4842:3:1",
"nodeType": "YulIdentifier",
"src": "4842:3:1"
},
"nativeSrc": "4842:32:1",
"nodeType": "YulFunctionCall",
"src": "4842:32:1"
},
"nativeSrc": "4839:119:1",
"nodeType": "YulIf",
"src": "4839:119:1"
},
{
"nativeSrc": "4968:117:1",
"nodeType": "YulBlock",
"src": "4968:117:1",
"statements": [
{
"nativeSrc": "4983:15:1",
"nodeType": "YulVariableDeclaration",
"src": "4983:15:1",
"value": {
"kind": "number",
"nativeSrc": "4997:1:1",
"nodeType": "YulLiteral",
"src": "4997:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "4987:6:1",
"nodeType": "YulTypedName",
"src": "4987:6:1",
"type": ""
}
]
},
{
"nativeSrc": "5012:63:1",
"nodeType": "YulAssignment",
"src": "5012:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "5047:9:1",
"nodeType": "YulIdentifier",
"src": "5047:9:1"
},
{
"name": "offset",
"nativeSrc": "5058:6:1",
"nodeType": "YulIdentifier",
"src": "5058:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5043:3:1",
"nodeType": "YulIdentifier",
"src": "5043:3:1"
},
"nativeSrc": "5043:22:1",
"nodeType": "YulFunctionCall",
"src": "5043:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "5067:7:1",
"nodeType": "YulIdentifier",
"src": "5067:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "5022:20:1",
"nodeType": "YulIdentifier",
"src": "5022:20:1"
},
"nativeSrc": "5022:53:1",
"nodeType": "YulFunctionCall",
"src": "5022:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "5012:6:1",
"nodeType": "YulIdentifier",
"src": "5012:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nativeSrc": "4763:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "4799:9:1",
"nodeType": "YulTypedName",
"src": "4799:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "4810:7:1",
"nodeType": "YulTypedName",
"src": "4810:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "4822:6:1",
"nodeType": "YulTypedName",
"src": "4822:6:1",
"type": ""
}
],
"src": "4763:329:1"
},
{
"body": {
"nativeSrc": "5163:53:1",
"nodeType": "YulBlock",
"src": "5163:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5180:3:1",
"nodeType": "YulIdentifier",
"src": "5180:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "5203:5:1",
"nodeType": "YulIdentifier",
"src": "5203:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "5185:17:1",
"nodeType": "YulIdentifier",
"src": "5185:17:1"
},
"nativeSrc": "5185:24:1",
"nodeType": "YulFunctionCall",
"src": "5185:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5173:6:1",
"nodeType": "YulIdentifier",
"src": "5173:6:1"
},
"nativeSrc": "5173:37:1",
"nodeType": "YulFunctionCall",
"src": "5173:37:1"
},
"nativeSrc": "5173:37:1",
"nodeType": "YulExpressionStatement",
"src": "5173:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "5098:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5151:5:1",
"nodeType": "YulTypedName",
"src": "5151:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "5158:3:1",
"nodeType": "YulTypedName",
"src": "5158:3:1",
"type": ""
}
],
"src": "5098:118:1"
},
{
"body": {
"nativeSrc": "5281:40:1",
"nodeType": "YulBlock",
"src": "5281:40:1",
"statements": [
{
"nativeSrc": "5292:22:1",
"nodeType": "YulAssignment",
"src": "5292:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "5308:5:1",
"nodeType": "YulIdentifier",
"src": "5308:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5302:5:1",
"nodeType": "YulIdentifier",
"src": "5302:5:1"
},
"nativeSrc": "5302:12:1",
"nodeType": "YulFunctionCall",
"src": "5302:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "5292:6:1",
"nodeType": "YulIdentifier",
"src": "5292:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "5222:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5264:5:1",
"nodeType": "YulTypedName",
"src": "5264:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "5274:6:1",
"nodeType": "YulTypedName",
"src": "5274:6:1",
"type": ""
}
],
"src": "5222:99:1"
},
{
"body": {
"nativeSrc": "5423:73:1",
"nodeType": "YulBlock",
"src": "5423:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5440:3:1",
"nodeType": "YulIdentifier",
"src": "5440:3:1"
},
{
"name": "length",
"nativeSrc": "5445:6:1",
"nodeType": "YulIdentifier",
"src": "5445:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5433:6:1",
"nodeType": "YulIdentifier",
"src": "5433:6:1"
},
"nativeSrc": "5433:19:1",
"nodeType": "YulFunctionCall",
"src": "5433:19:1"
},
"nativeSrc": "5433:19:1",
"nodeType": "YulExpressionStatement",
"src": "5433:19:1"
},
{
"nativeSrc": "5461:29:1",
"nodeType": "YulAssignment",
"src": "5461:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5480:3:1",
"nodeType": "YulIdentifier",
"src": "5480:3:1"
},
{
"kind": "number",
"nativeSrc": "5485:4:1",
"nodeType": "YulLiteral",
"src": "5485:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5476:3:1",
"nodeType": "YulIdentifier",
"src": "5476:3:1"
},
"nativeSrc": "5476:14:1",
"nodeType": "YulFunctionCall",
"src": "5476:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "5461:11:1",
"nodeType": "YulIdentifier",
"src": "5461:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "5327:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "5395:3:1",
"nodeType": "YulTypedName",
"src": "5395:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "5400:6:1",
"nodeType": "YulTypedName",
"src": "5400:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "5411:11:1",
"nodeType": "YulTypedName",
"src": "5411:11:1",
"type": ""
}
],
"src": "5327:169:1"
},
{
"body": {
"nativeSrc": "5564:184:1",
"nodeType": "YulBlock",
"src": "5564:184:1",
"statements": [
{
"nativeSrc": "5574:10:1",
"nodeType": "YulVariableDeclaration",
"src": "5574:10:1",
"value": {
"kind": "number",
"nativeSrc": "5583:1:1",
"nodeType": "YulLiteral",
"src": "5583:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "5578:1:1",
"nodeType": "YulTypedName",
"src": "5578:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "5643:63:1",
"nodeType": "YulBlock",
"src": "5643:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "5668:3:1",
"nodeType": "YulIdentifier",
"src": "5668:3:1"
},
{
"name": "i",
"nativeSrc": "5673:1:1",
"nodeType": "YulIdentifier",
"src": "5673:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5664:3:1",
"nodeType": "YulIdentifier",
"src": "5664:3:1"
},
"nativeSrc": "5664:11:1",
"nodeType": "YulFunctionCall",
"src": "5664:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "5687:3:1",
"nodeType": "YulIdentifier",
"src": "5687:3:1"
},
{
"name": "i",
"nativeSrc": "5692:1:1",
"nodeType": "YulIdentifier",
"src": "5692:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5683:3:1",
"nodeType": "YulIdentifier",
"src": "5683:3:1"
},
"nativeSrc": "5683:11:1",
"nodeType": "YulFunctionCall",
"src": "5683:11:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5677:5:1",
"nodeType": "YulIdentifier",
"src": "5677:5:1"
},
"nativeSrc": "5677:18:1",
"nodeType": "YulFunctionCall",
"src": "5677:18:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5657:6:1",
"nodeType": "YulIdentifier",
"src": "5657:6:1"
},
"nativeSrc": "5657:39:1",
"nodeType": "YulFunctionCall",
"src": "5657:39:1"
},
"nativeSrc": "5657:39:1",
"nodeType": "YulExpressionStatement",
"src": "5657:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "5604:1:1",
"nodeType": "YulIdentifier",
"src": "5604:1:1"
},
{
"name": "length",
"nativeSrc": "5607:6:1",
"nodeType": "YulIdentifier",
"src": "5607:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "5601:2:1",
"nodeType": "YulIdentifier",
"src": "5601:2:1"
},
"nativeSrc": "5601:13:1",
"nodeType": "YulFunctionCall",
"src": "5601:13:1"
},
"nativeSrc": "5593:113:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "5615:19:1",
"nodeType": "YulBlock",
"src": "5615:19:1",
"statements": [
{
"nativeSrc": "5617:15:1",
"nodeType": "YulAssignment",
"src": "5617:15:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "5626:1:1",
"nodeType": "YulIdentifier",
"src": "5626:1:1"
},
{
"kind": "number",
"nativeSrc": "5629:2:1",
"nodeType": "YulLiteral",
"src": "5629:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5622:3:1",
"nodeType": "YulIdentifier",
"src": "5622:3:1"
},
"nativeSrc": "5622:10:1",
"nodeType": "YulFunctionCall",
"src": "5622:10:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "5617:1:1",
"nodeType": "YulIdentifier",
"src": "5617:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "5597:3:1",
"nodeType": "YulBlock",
"src": "5597:3:1",
"statements": []
},
"src": "5593:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "5726:3:1",
"nodeType": "YulIdentifier",
"src": "5726:3:1"
},
{
"name": "length",
"nativeSrc": "5731:6:1",
"nodeType": "YulIdentifier",
"src": "5731:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5722:3:1",
"nodeType": "YulIdentifier",
"src": "5722:3:1"
},
"nativeSrc": "5722:16:1",
"nodeType": "YulFunctionCall",
"src": "5722:16:1"
},
{
"kind": "number",
"nativeSrc": "5740:1:1",
"nodeType": "YulLiteral",
"src": "5740:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5715:6:1",
"nodeType": "YulIdentifier",
"src": "5715:6:1"
},
"nativeSrc": "5715:27:1",
"nodeType": "YulFunctionCall",
"src": "5715:27:1"
},
"nativeSrc": "5715:27:1",
"nodeType": "YulExpressionStatement",
"src": "5715:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "5502:246:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "5546:3:1",
"nodeType": "YulTypedName",
"src": "5546:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "5551:3:1",
"nodeType": "YulTypedName",
"src": "5551:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "5556:6:1",
"nodeType": "YulTypedName",
"src": "5556:6:1",
"type": ""
}
],
"src": "5502:246:1"
},
{
"body": {
"nativeSrc": "5846:285:1",
"nodeType": "YulBlock",
"src": "5846:285:1",
"statements": [
{
"nativeSrc": "5856:53:1",
"nodeType": "YulVariableDeclaration",
"src": "5856:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "5903:5:1",
"nodeType": "YulIdentifier",
"src": "5903:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "5870:32:1",
"nodeType": "YulIdentifier",
"src": "5870:32:1"
},
"nativeSrc": "5870:39:1",
"nodeType": "YulFunctionCall",
"src": "5870:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "5860:6:1",
"nodeType": "YulTypedName",
"src": "5860:6:1",
"type": ""
}
]
},
{
"nativeSrc": "5918:78:1",
"nodeType": "YulAssignment",
"src": "5918:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5984:3:1",
"nodeType": "YulIdentifier",
"src": "5984:3:1"
},
{
"name": "length",
"nativeSrc": "5989:6:1",
"nodeType": "YulIdentifier",
"src": "5989:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "5925:58:1",
"nodeType": "YulIdentifier",
"src": "5925:58:1"
},
"nativeSrc": "5925:71:1",
"nodeType": "YulFunctionCall",
"src": "5925:71:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "5918:3:1",
"nodeType": "YulIdentifier",
"src": "5918:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "6044:5:1",
"nodeType": "YulIdentifier",
"src": "6044:5:1"
},
{
"kind": "number",
"nativeSrc": "6051:4:1",
"nodeType": "YulLiteral",
"src": "6051:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6040:3:1",
"nodeType": "YulIdentifier",
"src": "6040:3:1"
},
"nativeSrc": "6040:16:1",
"nodeType": "YulFunctionCall",
"src": "6040:16:1"
},
{
"name": "pos",
"nativeSrc": "6058:3:1",
"nodeType": "YulIdentifier",
"src": "6058:3:1"
},
{
"name": "length",
"nativeSrc": "6063:6:1",
"nodeType": "YulIdentifier",
"src": "6063:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "6005:34:1",
"nodeType": "YulIdentifier",
"src": "6005:34:1"
},
"nativeSrc": "6005:65:1",
"nodeType": "YulFunctionCall",
"src": "6005:65:1"
},
"nativeSrc": "6005:65:1",
"nodeType": "YulExpressionStatement",
"src": "6005:65:1"
},
{
"nativeSrc": "6079:46:1",
"nodeType": "YulAssignment",
"src": "6079:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "6090:3:1",
"nodeType": "YulIdentifier",
"src": "6090:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "6117:6:1",
"nodeType": "YulIdentifier",
"src": "6117:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "6095:21:1",
"nodeType": "YulIdentifier",
"src": "6095:21:1"
},
"nativeSrc": "6095:29:1",
"nodeType": "YulFunctionCall",
"src": "6095:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6086:3:1",
"nodeType": "YulIdentifier",
"src": "6086:3:1"
},
"nativeSrc": "6086:39:1",
"nodeType": "YulFunctionCall",
"src": "6086:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "6079:3:1",
"nodeType": "YulIdentifier",
"src": "6079:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "5754:377:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5827:5:1",
"nodeType": "YulTypedName",
"src": "5827:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "5834:3:1",
"nodeType": "YulTypedName",
"src": "5834:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "5842:3:1",
"nodeType": "YulTypedName",
"src": "5842:3:1",
"type": ""
}
],
"src": "5754:377:1"
},
{
"body": {
"nativeSrc": "6311:359:1",
"nodeType": "YulBlock",
"src": "6311:359:1",
"statements": [
{
"nativeSrc": "6321:26:1",
"nodeType": "YulAssignment",
"src": "6321:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "6333:9:1",
"nodeType": "YulIdentifier",
"src": "6333:9:1"
},
{
"kind": "number",
"nativeSrc": "6344:2:1",
"nodeType": "YulLiteral",
"src": "6344:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6329:3:1",
"nodeType": "YulIdentifier",
"src": "6329:3:1"
},
"nativeSrc": "6329:18:1",
"nodeType": "YulFunctionCall",
"src": "6329:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "6321:4:1",
"nodeType": "YulIdentifier",
"src": "6321:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "6401:6:1",
"nodeType": "YulIdentifier",
"src": "6401:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6414:9:1",
"nodeType": "YulIdentifier",
"src": "6414:9:1"
},
{
"kind": "number",
"nativeSrc": "6425:1:1",
"nodeType": "YulLiteral",
"src": "6425:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6410:3:1",
"nodeType": "YulIdentifier",
"src": "6410:3:1"
},
"nativeSrc": "6410:17:1",
"nodeType": "YulFunctionCall",
"src": "6410:17:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "6357:43:1",
"nodeType": "YulIdentifier",
"src": "6357:43:1"
},
"nativeSrc": "6357:71:1",
"nodeType": "YulFunctionCall",
"src": "6357:71:1"
},
"nativeSrc": "6357:71:1",
"nodeType": "YulExpressionStatement",
"src": "6357:71:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6449:9:1",
"nodeType": "YulIdentifier",
"src": "6449:9:1"
},
{
"kind": "number",
"nativeSrc": "6460:2:1",
"nodeType": "YulLiteral",
"src": "6460:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6445:3:1",
"nodeType": "YulIdentifier",
"src": "6445:3:1"
},
"nativeSrc": "6445:18:1",
"nodeType": "YulFunctionCall",
"src": "6445:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "6469:4:1",
"nodeType": "YulIdentifier",
"src": "6469:4:1"
},
{
"name": "headStart",
"nativeSrc": "6475:9:1",
"nodeType": "YulIdentifier",
"src": "6475:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "6465:3:1",
"nodeType": "YulIdentifier",
"src": "6465:3:1"
},
"nativeSrc": "6465:20:1",
"nodeType": "YulFunctionCall",
"src": "6465:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6438:6:1",
"nodeType": "YulIdentifier",
"src": "6438:6:1"
},
"nativeSrc": "6438:48:1",
"nodeType": "YulFunctionCall",
"src": "6438:48:1"
},
"nativeSrc": "6438:48:1",
"nodeType": "YulExpressionStatement",
"src": "6438:48:1"
},
{
"nativeSrc": "6495:86:1",
"nodeType": "YulAssignment",
"src": "6495:86:1",
"value": {
"arguments": [
{
"name": "value1",
"nativeSrc": "6567:6:1",
"nodeType": "YulIdentifier",
"src": "6567:6:1"
},
{
"name": "tail",
"nativeSrc": "6576:4:1",
"nodeType": "YulIdentifier",
"src": "6576:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "6503:63:1",
"nodeType": "YulIdentifier",
"src": "6503:63:1"
},
"nativeSrc": "6503:78:1",
"nodeType": "YulFunctionCall",
"src": "6503:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "6495:4:1",
"nodeType": "YulIdentifier",
"src": "6495:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nativeSrc": "6635:6:1",
"nodeType": "YulIdentifier",
"src": "6635:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "6648:9:1",
"nodeType": "YulIdentifier",
"src": "6648:9:1"
},
{
"kind": "number",
"nativeSrc": "6659:2:1",
"nodeType": "YulLiteral",
"src": "6659:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6644:3:1",
"nodeType": "YulIdentifier",
"src": "6644:3:1"
},
"nativeSrc": "6644:18:1",
"nodeType": "YulFunctionCall",
"src": "6644:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "6591:43:1",
"nodeType": "YulIdentifier",
"src": "6591:43:1"
},
"nativeSrc": "6591:72:1",
"nodeType": "YulFunctionCall",
"src": "6591:72:1"
},
"nativeSrc": "6591:72:1",
"nodeType": "YulExpressionStatement",
"src": "6591:72:1"
}
]
},
"name": "abi_encode_tuple_t_address_t_string_memory_ptr_t_uint256__to_t_address_t_string_memory_ptr_t_uint256__fromStack_reversed",
"nativeSrc": "6137:533:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "6267:9:1",
"nodeType": "YulTypedName",
"src": "6267:9:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "6279:6:1",
"nodeType": "YulTypedName",
"src": "6279:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "6287:6:1",
"nodeType": "YulTypedName",
"src": "6287:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "6295:6:1",
"nodeType": "YulTypedName",
"src": "6295:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "6306:4:1",
"nodeType": "YulTypedName",
"src": "6306:4:1",
"type": ""
}
],
"src": "6137:533:1"
},
{
"body": {
"nativeSrc": "6704:152:1",
"nodeType": "YulBlock",
"src": "6704:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6721:1:1",
"nodeType": "YulLiteral",
"src": "6721:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6724:77:1",
"nodeType": "YulLiteral",
"src": "6724:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6714:6:1",
"nodeType": "YulIdentifier",
"src": "6714:6:1"
},
"nativeSrc": "6714:88:1",
"nodeType": "YulFunctionCall",
"src": "6714:88:1"
},
"nativeSrc": "6714:88:1",
"nodeType": "YulExpressionStatement",
"src": "6714:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6818:1:1",
"nodeType": "YulLiteral",
"src": "6818:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "6821:4:1",
"nodeType": "YulLiteral",
"src": "6821:4:1",
"type": "",
"value": "0x32"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6811:6:1",
"nodeType": "YulIdentifier",
"src": "6811:6:1"
},
"nativeSrc": "6811:15:1",
"nodeType": "YulFunctionCall",
"src": "6811:15:1"
},
"nativeSrc": "6811:15:1",
"nodeType": "YulExpressionStatement",
"src": "6811:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6842:1:1",
"nodeType": "YulLiteral",
"src": "6842:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6845:4:1",
"nodeType": "YulLiteral",
"src": "6845:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "6835:6:1",
"nodeType": "YulIdentifier",
"src": "6835:6:1"
},
"nativeSrc": "6835:15:1",
"nodeType": "YulFunctionCall",
"src": "6835:15:1"
},
"nativeSrc": "6835:15:1",
"nodeType": "YulExpressionStatement",
"src": "6835:15:1"
}
]
},
"name": "panic_error_0x32",
"nativeSrc": "6676:180:1",
"nodeType": "YulFunctionDefinition",
"src": "6676:180:1"
},
{
"body": {
"nativeSrc": "6890:152:1",
"nodeType": "YulBlock",
"src": "6890:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "6907:1:1",
"nodeType": "YulLiteral",
"src": "6907:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "6910:77:1",
"nodeType": "YulLiteral",
"src": "6910:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6900:6:1",
"nodeType": "YulIdentifier",
"src": "6900:6:1"
},
"nativeSrc": "6900:88:1",
"nodeType": "YulFunctionCall",
"src": "6900:88:1"
},
"nativeSrc": "6900:88:1",
"nodeType": "YulExpressionStatement",
"src": "6900:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7004:1:1",
"nodeType": "YulLiteral",
"src": "7004:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "7007:4:1",
"nodeType": "YulLiteral",
"src": "7007:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "6997:6:1",
"nodeType": "YulIdentifier",
"src": "6997:6:1"
},
"nativeSrc": "6997:15:1",
"nodeType": "YulFunctionCall",
"src": "6997:15:1"
},
"nativeSrc": "6997:15:1",
"nodeType": "YulExpressionStatement",
"src": "6997:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7028:1:1",
"nodeType": "YulLiteral",
"src": "7028:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "7031:4:1",
"nodeType": "YulLiteral",
"src": "7031:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "7021:6:1",
"nodeType": "YulIdentifier",
"src": "7021:6:1"
},
"nativeSrc": "7021:15:1",
"nodeType": "YulFunctionCall",
"src": "7021:15:1"
},
"nativeSrc": "7021:15:1",
"nodeType": "YulExpressionStatement",
"src": "7021:15:1"
}
]
},
"name": "panic_error_0x11",
"nativeSrc": "6862:180:1",
"nodeType": "YulFunctionDefinition",
"src": "6862:180:1"
},
{
"body": {
"nativeSrc": "7092:147:1",
"nodeType": "YulBlock",
"src": "7092:147:1",
"statements": [
{
"nativeSrc": "7102:25:1",
"nodeType": "YulAssignment",
"src": "7102:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "7125:1:1",
"nodeType": "YulIdentifier",
"src": "7125:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7107:17:1",
"nodeType": "YulIdentifier",
"src": "7107:17:1"
},
"nativeSrc": "7107:20:1",
"nodeType": "YulFunctionCall",
"src": "7107:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "7102:1:1",
"nodeType": "YulIdentifier",
"src": "7102:1:1"
}
]
},
{
"nativeSrc": "7136:25:1",
"nodeType": "YulAssignment",
"src": "7136:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "7159:1:1",
"nodeType": "YulIdentifier",
"src": "7159:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "7141:17:1",
"nodeType": "YulIdentifier",
"src": "7141:17:1"
},
"nativeSrc": "7141:20:1",
"nodeType": "YulFunctionCall",
"src": "7141:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "7136:1:1",
"nodeType": "YulIdentifier",
"src": "7136:1:1"
}
]
},
{
"nativeSrc": "7170:16:1",
"nodeType": "YulAssignment",
"src": "7170:16:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "7181:1:1",
"nodeType": "YulIdentifier",
"src": "7181:1:1"
},
{
"name": "y",
"nativeSrc": "7184:1:1",
"nodeType": "YulIdentifier",
"src": "7184:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7177:3:1",
"nodeType": "YulIdentifier",
"src": "7177:3:1"
},
"nativeSrc": "7177:9:1",
"nodeType": "YulFunctionCall",
"src": "7177:9:1"
},
"variableNames": [
{
"name": "sum",
"nativeSrc": "7170:3:1",
"nodeType": "YulIdentifier",
"src": "7170:3:1"
}
]
},
{
"body": {
"nativeSrc": "7210:22:1",
"nodeType": "YulBlock",
"src": "7210:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "7212:16:1",
"nodeType": "YulIdentifier",
"src": "7212:16:1"
},
"nativeSrc": "7212:18:1",
"nodeType": "YulFunctionCall",
"src": "7212:18:1"
},
"nativeSrc": "7212:18:1",
"nodeType": "YulExpressionStatement",
"src": "7212:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nativeSrc": "7202:1:1",
"nodeType": "YulIdentifier",
"src": "7202:1:1"
},
{
"name": "sum",
"nativeSrc": "7205:3:1",
"nodeType": "YulIdentifier",
"src": "7205:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "7199:2:1",
"nodeType": "YulIdentifier",
"src": "7199:2:1"
},
"nativeSrc": "7199:10:1",
"nodeType": "YulFunctionCall",
"src": "7199:10:1"
},
"nativeSrc": "7196:36:1",
"nodeType": "YulIf",
"src": "7196:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nativeSrc": "7048:191:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "7079:1:1",
"nodeType": "YulTypedName",
"src": "7079:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "7082:1:1",
"nodeType": "YulTypedName",
"src": "7082:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nativeSrc": "7088:3:1",
"nodeType": "YulTypedName",
"src": "7088:3:1",
"type": ""
}
],
"src": "7048:191:1"
},
{
"body": {
"nativeSrc": "7273:152:1",
"nodeType": "YulBlock",
"src": "7273:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7290:1:1",
"nodeType": "YulLiteral",
"src": "7290:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "7293:77:1",
"nodeType": "YulLiteral",
"src": "7293:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "7283:6:1",
"nodeType": "YulIdentifier",
"src": "7283:6:1"
},
"nativeSrc": "7283:88:1",
"nodeType": "YulFunctionCall",
"src": "7283:88:1"
},
"nativeSrc": "7283:88:1",
"nodeType": "YulExpressionStatement",
"src": "7283:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7387:1:1",
"nodeType": "YulLiteral",
"src": "7387:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "7390:4:1",
"nodeType": "YulLiteral",
"src": "7390:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "7380:6:1",
"nodeType": "YulIdentifier",
"src": "7380:6:1"
},
"nativeSrc": "7380:15:1",
"nodeType": "YulFunctionCall",
"src": "7380:15:1"
},
"nativeSrc": "7380:15:1",
"nodeType": "YulExpressionStatement",
"src": "7380:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7411:1:1",
"nodeType": "YulLiteral",
"src": "7411:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "7414:4:1",
"nodeType": "YulLiteral",
"src": "7414:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "7404:6:1",
"nodeType": "YulIdentifier",
"src": "7404:6:1"
},
"nativeSrc": "7404:15:1",
"nodeType": "YulFunctionCall",
"src": "7404:15:1"
},
"nativeSrc": "7404:15:1",
"nodeType": "YulExpressionStatement",
"src": "7404:15:1"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "7245:180:1",
"nodeType": "YulFunctionDefinition",
"src": "7245:180:1"
},
{
"body": {
"nativeSrc": "7482:269:1",
"nodeType": "YulBlock",
"src": "7482:269:1",
"statements": [
{
"nativeSrc": "7492:22:1",
"nodeType": "YulAssignment",
"src": "7492:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "7506:4:1",
"nodeType": "YulIdentifier",
"src": "7506:4:1"
},
{
"kind": "number",
"nativeSrc": "7512:1:1",
"nodeType": "YulLiteral",
"src": "7512:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "7502:3:1",
"nodeType": "YulIdentifier",
"src": "7502:3:1"
},
"nativeSrc": "7502:12:1",
"nodeType": "YulFunctionCall",
"src": "7502:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "7492:6:1",
"nodeType": "YulIdentifier",
"src": "7492:6:1"
}
]
},
{
"nativeSrc": "7523:38:1",
"nodeType": "YulVariableDeclaration",
"src": "7523:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "7553:4:1",
"nodeType": "YulIdentifier",
"src": "7553:4:1"
},
{
"kind": "number",
"nativeSrc": "7559:1:1",
"nodeType": "YulLiteral",
"src": "7559:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "7549:3:1",
"nodeType": "YulIdentifier",
"src": "7549:3:1"
},
"nativeSrc": "7549:12:1",
"nodeType": "YulFunctionCall",
"src": "7549:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "7527:18:1",
"nodeType": "YulTypedName",
"src": "7527:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "7600:51:1",
"nodeType": "YulBlock",
"src": "7600:51:1",
"statements": [
{
"nativeSrc": "7614:27:1",
"nodeType": "YulAssignment",
"src": "7614:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "7628:6:1",
"nodeType": "YulIdentifier",
"src": "7628:6:1"
},
{
"kind": "number",
"nativeSrc": "7636:4:1",
"nodeType": "YulLiteral",
"src": "7636:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "7624:3:1",
"nodeType": "YulIdentifier",
"src": "7624:3:1"
},
"nativeSrc": "7624:17:1",
"nodeType": "YulFunctionCall",
"src": "7624:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "7614:6:1",
"nodeType": "YulIdentifier",
"src": "7614:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "7580:18:1",
"nodeType": "YulIdentifier",
"src": "7580:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "7573:6:1",
"nodeType": "YulIdentifier",
"src": "7573:6:1"
},
"nativeSrc": "7573:26:1",
"nodeType": "YulFunctionCall",
"src": "7573:26:1"
},
"nativeSrc": "7570:81:1",
"nodeType": "YulIf",
"src": "7570:81:1"
},
{
"body": {
"nativeSrc": "7703:42:1",
"nodeType": "YulBlock",
"src": "7703:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "7717:16:1",
"nodeType": "YulIdentifier",
"src": "7717:16:1"
},
"nativeSrc": "7717:18:1",
"nodeType": "YulFunctionCall",
"src": "7717:18:1"
},
"nativeSrc": "7717:18:1",
"nodeType": "YulExpressionStatement",
"src": "7717:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "7667:18:1",
"nodeType": "YulIdentifier",
"src": "7667:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "7690:6:1",
"nodeType": "YulIdentifier",
"src": "7690:6:1"
},
{
"kind": "number",
"nativeSrc": "7698:2:1",
"nodeType": "YulLiteral",
"src": "7698:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "7687:2:1",
"nodeType": "YulIdentifier",
"src": "7687:2:1"
},
"nativeSrc": "7687:14:1",
"nodeType": "YulFunctionCall",
"src": "7687:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "7664:2:1",
"nodeType": "YulIdentifier",
"src": "7664:2:1"
},
"nativeSrc": "7664:38:1",
"nodeType": "YulFunctionCall",
"src": "7664:38:1"
},
"nativeSrc": "7661:84:1",
"nodeType": "YulIf",
"src": "7661:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "7431:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "7466:4:1",
"nodeType": "YulTypedName",
"src": "7466:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "7475:6:1",
"nodeType": "YulTypedName",
"src": "7475:6:1",
"type": ""
}
],
"src": "7431:320:1"
},
{
"body": {
"nativeSrc": "7811:87:1",
"nodeType": "YulBlock",
"src": "7811:87:1",
"statements": [
{
"nativeSrc": "7821:11:1",
"nodeType": "YulAssignment",
"src": "7821:11:1",
"value": {
"name": "ptr",
"nativeSrc": "7829:3:1",
"nodeType": "YulIdentifier",
"src": "7829:3:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "7821:4:1",
"nodeType": "YulIdentifier",
"src": "7821:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7849:1:1",
"nodeType": "YulLiteral",
"src": "7849:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nativeSrc": "7852:3:1",
"nodeType": "YulIdentifier",
"src": "7852:3:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "7842:6:1",
"nodeType": "YulIdentifier",
"src": "7842:6:1"
},
"nativeSrc": "7842:14:1",
"nodeType": "YulFunctionCall",
"src": "7842:14:1"
},
"nativeSrc": "7842:14:1",
"nodeType": "YulExpressionStatement",
"src": "7842:14:1"
},
{
"nativeSrc": "7865:26:1",
"nodeType": "YulAssignment",
"src": "7865:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "7883:1:1",
"nodeType": "YulLiteral",
"src": "7883:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "7886:4:1",
"nodeType": "YulLiteral",
"src": "7886:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nativeSrc": "7873:9:1",
"nodeType": "YulIdentifier",
"src": "7873:9:1"
},
"nativeSrc": "7873:18:1",
"nodeType": "YulFunctionCall",
"src": "7873:18:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "7865:4:1",
"nodeType": "YulIdentifier",
"src": "7865:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nativeSrc": "7757:141:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "7798:3:1",
"nodeType": "YulTypedName",
"src": "7798:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "7806:4:1",
"nodeType": "YulTypedName",
"src": "7806:4:1",
"type": ""
}
],
"src": "7757:141:1"
},
{
"body": {
"nativeSrc": "7948:49:1",
"nodeType": "YulBlock",
"src": "7948:49:1",
"statements": [
{
"nativeSrc": "7958:33:1",
"nodeType": "YulAssignment",
"src": "7958:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "7976:5:1",
"nodeType": "YulIdentifier",
"src": "7976:5:1"
},
{
"kind": "number",
"nativeSrc": "7983:2:1",
"nodeType": "YulLiteral",
"src": "7983:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7972:3:1",
"nodeType": "YulIdentifier",
"src": "7972:3:1"
},
"nativeSrc": "7972:14:1",
"nodeType": "YulFunctionCall",
"src": "7972:14:1"
},
{
"kind": "number",
"nativeSrc": "7988:2:1",
"nodeType": "YulLiteral",
"src": "7988:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nativeSrc": "7968:3:1",
"nodeType": "YulIdentifier",
"src": "7968:3:1"
},
"nativeSrc": "7968:23:1",
"nodeType": "YulFunctionCall",
"src": "7968:23:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "7958:6:1",
"nodeType": "YulIdentifier",
"src": "7958:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nativeSrc": "7904:93:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "7931:5:1",
"nodeType": "YulTypedName",
"src": "7931:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "7941:6:1",
"nodeType": "YulTypedName",
"src": "7941:6:1",
"type": ""
}
],
"src": "7904:93:1"
},
{
"body": {
"nativeSrc": "8056:54:1",
"nodeType": "YulBlock",
"src": "8056:54:1",
"statements": [
{
"nativeSrc": "8066:37:1",
"nodeType": "YulAssignment",
"src": "8066:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "8091:4:1",
"nodeType": "YulIdentifier",
"src": "8091:4:1"
},
{
"name": "value",
"nativeSrc": "8097:5:1",
"nodeType": "YulIdentifier",
"src": "8097:5:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "8087:3:1",
"nodeType": "YulIdentifier",
"src": "8087:3:1"
},
"nativeSrc": "8087:16:1",
"nodeType": "YulFunctionCall",
"src": "8087:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "8066:8:1",
"nodeType": "YulIdentifier",
"src": "8066:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nativeSrc": "8003:107:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "8031:4:1",
"nodeType": "YulTypedName",
"src": "8031:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "8037:5:1",
"nodeType": "YulTypedName",
"src": "8037:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "8047:8:1",
"nodeType": "YulTypedName",
"src": "8047:8:1",
"type": ""
}
],
"src": "8003:107:1"
},
{
"body": {
"nativeSrc": "8192:317:1",
"nodeType": "YulBlock",
"src": "8192:317:1",
"statements": [
{
"nativeSrc": "8202:35:1",
"nodeType": "YulVariableDeclaration",
"src": "8202:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nativeSrc": "8223:10:1",
"nodeType": "YulIdentifier",
"src": "8223:10:1"
},
{
"kind": "number",
"nativeSrc": "8235:1:1",
"nodeType": "YulLiteral",
"src": "8235:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "8219:3:1",
"nodeType": "YulIdentifier",
"src": "8219:3:1"
},
"nativeSrc": "8219:18:1",
"nodeType": "YulFunctionCall",
"src": "8219:18:1"
},
"variables": [
{
"name": "shiftBits",
"nativeSrc": "8206:9:1",
"nodeType": "YulTypedName",
"src": "8206:9:1",
"type": ""
}
]
},
{
"nativeSrc": "8246:109:1",
"nodeType": "YulVariableDeclaration",
"src": "8246:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "8277:9:1",
"nodeType": "YulIdentifier",
"src": "8277:9:1"
},
{
"kind": "number",
"nativeSrc": "8288:66:1",
"nodeType": "YulLiteral",
"src": "8288:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "8258:18:1",
"nodeType": "YulIdentifier",
"src": "8258:18:1"
},
"nativeSrc": "8258:97:1",
"nodeType": "YulFunctionCall",
"src": "8258:97:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "8250:4:1",
"nodeType": "YulTypedName",
"src": "8250:4:1",
"type": ""
}
]
},
{
"nativeSrc": "8364:51:1",
"nodeType": "YulAssignment",
"src": "8364:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "8395:9:1",
"nodeType": "YulIdentifier",
"src": "8395:9:1"
},
{
"name": "toInsert",
"nativeSrc": "8406:8:1",
"nodeType": "YulIdentifier",
"src": "8406:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "8376:18:1",
"nodeType": "YulIdentifier",
"src": "8376:18:1"
},
"nativeSrc": "8376:39:1",
"nodeType": "YulFunctionCall",
"src": "8376:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nativeSrc": "8364:8:1",
"nodeType": "YulIdentifier",
"src": "8364:8:1"
}
]
},
{
"nativeSrc": "8424:30:1",
"nodeType": "YulAssignment",
"src": "8424:30:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "8437:5:1",
"nodeType": "YulIdentifier",
"src": "8437:5:1"
},
{
"arguments": [
{
"name": "mask",
"nativeSrc": "8448:4:1",
"nodeType": "YulIdentifier",
"src": "8448:4:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "8444:3:1",
"nodeType": "YulIdentifier",
"src": "8444:3:1"
},
"nativeSrc": "8444:9:1",
"nodeType": "YulFunctionCall",
"src": "8444:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "8433:3:1",
"nodeType": "YulIdentifier",
"src": "8433:3:1"
},
"nativeSrc": "8433:21:1",
"nodeType": "YulFunctionCall",
"src": "8433:21:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "8424:5:1",
"nodeType": "YulIdentifier",
"src": "8424:5:1"
}
]
},
{
"nativeSrc": "8463:40:1",
"nodeType": "YulAssignment",
"src": "8463:40:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "8476:5:1",
"nodeType": "YulIdentifier",
"src": "8476:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nativeSrc": "8487:8:1",
"nodeType": "YulIdentifier",
"src": "8487:8:1"
},
{
"name": "mask",
"nativeSrc": "8497:4:1",
"nodeType": "YulIdentifier",
"src": "8497:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "8483:3:1",
"nodeType": "YulIdentifier",
"src": "8483:3:1"
},
"nativeSrc": "8483:19:1",
"nodeType": "YulFunctionCall",
"src": "8483:19:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "8473:2:1",
"nodeType": "YulIdentifier",
"src": "8473:2:1"
},
"nativeSrc": "8473:30:1",
"nodeType": "YulFunctionCall",
"src": "8473:30:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "8463:6:1",
"nodeType": "YulIdentifier",
"src": "8463:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nativeSrc": "8116:393:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8153:5:1",
"nodeType": "YulTypedName",
"src": "8153:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nativeSrc": "8160:10:1",
"nodeType": "YulTypedName",
"src": "8160:10:1",
"type": ""
},
{
"name": "toInsert",
"nativeSrc": "8172:8:1",
"nodeType": "YulTypedName",
"src": "8172:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "8185:6:1",
"nodeType": "YulTypedName",
"src": "8185:6:1",
"type": ""
}
],
"src": "8116:393:1"
},
{
"body": {
"nativeSrc": "8547:28:1",
"nodeType": "YulBlock",
"src": "8547:28:1",
"statements": [
{
"nativeSrc": "8557:12:1",
"nodeType": "YulAssignment",
"src": "8557:12:1",
"value": {
"name": "value",
"nativeSrc": "8564:5:1",
"nodeType": "YulIdentifier",
"src": "8564:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "8557:3:1",
"nodeType": "YulIdentifier",
"src": "8557:3:1"
}
]
}
]
},
"name": "identity",
"nativeSrc": "8515:60:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8533:5:1",
"nodeType": "YulTypedName",
"src": "8533:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "8543:3:1",
"nodeType": "YulTypedName",
"src": "8543:3:1",
"type": ""
}
],
"src": "8515:60:1"
},
{
"body": {
"nativeSrc": "8641:82:1",
"nodeType": "YulBlock",
"src": "8641:82:1",
"statements": [
{
"nativeSrc": "8651:66:1",
"nodeType": "YulAssignment",
"src": "8651:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "8709:5:1",
"nodeType": "YulIdentifier",
"src": "8709:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "8691:17:1",
"nodeType": "YulIdentifier",
"src": "8691:17:1"
},
"nativeSrc": "8691:24:1",
"nodeType": "YulFunctionCall",
"src": "8691:24:1"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "8682:8:1",
"nodeType": "YulIdentifier",
"src": "8682:8:1"
},
"nativeSrc": "8682:34:1",
"nodeType": "YulFunctionCall",
"src": "8682:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "8664:17:1",
"nodeType": "YulIdentifier",
"src": "8664:17:1"
},
"nativeSrc": "8664:53:1",
"nodeType": "YulFunctionCall",
"src": "8664:53:1"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "8651:9:1",
"nodeType": "YulIdentifier",
"src": "8651:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "8581:142:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8621:5:1",
"nodeType": "YulTypedName",
"src": "8621:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "8631:9:1",
"nodeType": "YulTypedName",
"src": "8631:9:1",
"type": ""
}
],
"src": "8581:142:1"
},
{
"body": {
"nativeSrc": "8776:28:1",
"nodeType": "YulBlock",
"src": "8776:28:1",
"statements": [
{
"nativeSrc": "8786:12:1",
"nodeType": "YulAssignment",
"src": "8786:12:1",
"value": {
"name": "value",
"nativeSrc": "8793:5:1",
"nodeType": "YulIdentifier",
"src": "8793:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "8786:3:1",
"nodeType": "YulIdentifier",
"src": "8786:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nativeSrc": "8729:75:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8762:5:1",
"nodeType": "YulTypedName",
"src": "8762:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "8772:3:1",
"nodeType": "YulTypedName",
"src": "8772:3:1",
"type": ""
}
],
"src": "8729:75:1"
},
{
"body": {
"nativeSrc": "8886:193:1",
"nodeType": "YulBlock",
"src": "8886:193:1",
"statements": [
{
"nativeSrc": "8896:63:1",
"nodeType": "YulVariableDeclaration",
"src": "8896:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nativeSrc": "8951:7:1",
"nodeType": "YulIdentifier",
"src": "8951:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "8920:30:1",
"nodeType": "YulIdentifier",
"src": "8920:30:1"
},
"nativeSrc": "8920:39:1",
"nodeType": "YulFunctionCall",
"src": "8920:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nativeSrc": "8900:16:1",
"nodeType": "YulTypedName",
"src": "8900:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "8975:4:1",
"nodeType": "YulIdentifier",
"src": "8975:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "9015:4:1",
"nodeType": "YulIdentifier",
"src": "9015:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "9009:5:1",
"nodeType": "YulIdentifier",
"src": "9009:5:1"
},
"nativeSrc": "9009:11:1",
"nodeType": "YulFunctionCall",
"src": "9009:11:1"
},
{
"name": "offset",
"nativeSrc": "9022:6:1",
"nodeType": "YulIdentifier",
"src": "9022:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nativeSrc": "9054:16:1",
"nodeType": "YulIdentifier",
"src": "9054:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nativeSrc": "9030:23:1",
"nodeType": "YulIdentifier",
"src": "9030:23:1"
},
"nativeSrc": "9030:41:1",
"nodeType": "YulFunctionCall",
"src": "9030:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nativeSrc": "8981:27:1",
"nodeType": "YulIdentifier",
"src": "8981:27:1"
},
"nativeSrc": "8981:91:1",
"nodeType": "YulFunctionCall",
"src": "8981:91:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "8968:6:1",
"nodeType": "YulIdentifier",
"src": "8968:6:1"
},
"nativeSrc": "8968:105:1",
"nodeType": "YulFunctionCall",
"src": "8968:105:1"
},
"nativeSrc": "8968:105:1",
"nodeType": "YulExpressionStatement",
"src": "8968:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "8810:269:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "8863:4:1",
"nodeType": "YulTypedName",
"src": "8863:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "8869:6:1",
"nodeType": "YulTypedName",
"src": "8869:6:1",
"type": ""
},
{
"name": "value_0",
"nativeSrc": "8877:7:1",
"nodeType": "YulTypedName",
"src": "8877:7:1",
"type": ""
}
],
"src": "8810:269:1"
},
{
"body": {
"nativeSrc": "9134:24:1",
"nodeType": "YulBlock",
"src": "9134:24:1",
"statements": [
{
"nativeSrc": "9144:8:1",
"nodeType": "YulAssignment",
"src": "9144:8:1",
"value": {
"kind": "number",
"nativeSrc": "9151:1:1",
"nodeType": "YulLiteral",
"src": "9151:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "9144:3:1",
"nodeType": "YulIdentifier",
"src": "9144:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "9085:73:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nativeSrc": "9130:3:1",
"nodeType": "YulTypedName",
"src": "9130:3:1",
"type": ""
}
],
"src": "9085:73:1"
},
{
"body": {
"nativeSrc": "9217:136:1",
"nodeType": "YulBlock",
"src": "9217:136:1",
"statements": [
{
"nativeSrc": "9227:46:1",
"nodeType": "YulVariableDeclaration",
"src": "9227:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "9241:30:1",
"nodeType": "YulIdentifier",
"src": "9241:30:1"
},
"nativeSrc": "9241:32:1",
"nodeType": "YulFunctionCall",
"src": "9241:32:1"
},
"variables": [
{
"name": "zero_0",
"nativeSrc": "9231:6:1",
"nodeType": "YulTypedName",
"src": "9231:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "9326:4:1",
"nodeType": "YulIdentifier",
"src": "9326:4:1"
},
{
"name": "offset",
"nativeSrc": "9332:6:1",
"nodeType": "YulIdentifier",
"src": "9332:6:1"
},
{
"name": "zero_0",
"nativeSrc": "9340:6:1",
"nodeType": "YulIdentifier",
"src": "9340:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "9282:43:1",
"nodeType": "YulIdentifier",
"src": "9282:43:1"
},
"nativeSrc": "9282:65:1",
"nodeType": "YulFunctionCall",
"src": "9282:65:1"
},
"nativeSrc": "9282:65:1",
"nodeType": "YulExpressionStatement",
"src": "9282:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "9164:189:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "9203:4:1",
"nodeType": "YulTypedName",
"src": "9203:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "9209:6:1",
"nodeType": "YulTypedName",
"src": "9209:6:1",
"type": ""
}
],
"src": "9164:189:1"
},
{
"body": {
"nativeSrc": "9409:136:1",
"nodeType": "YulBlock",
"src": "9409:136:1",
"statements": [
{
"body": {
"nativeSrc": "9476:63:1",
"nodeType": "YulBlock",
"src": "9476:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nativeSrc": "9520:5:1",
"nodeType": "YulIdentifier",
"src": "9520:5:1"
},
{
"kind": "number",
"nativeSrc": "9527:1:1",
"nodeType": "YulLiteral",
"src": "9527:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "9490:29:1",
"nodeType": "YulIdentifier",
"src": "9490:29:1"
},
"nativeSrc": "9490:39:1",
"nodeType": "YulFunctionCall",
"src": "9490:39:1"
},
"nativeSrc": "9490:39:1",
"nodeType": "YulExpressionStatement",
"src": "9490:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nativeSrc": "9429:5:1",
"nodeType": "YulIdentifier",
"src": "9429:5:1"
},
{
"name": "end",
"nativeSrc": "9436:3:1",
"nodeType": "YulIdentifier",
"src": "9436:3:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "9426:2:1",
"nodeType": "YulIdentifier",
"src": "9426:2:1"
},
"nativeSrc": "9426:14:1",
"nodeType": "YulFunctionCall",
"src": "9426:14:1"
},
"nativeSrc": "9419:120:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "9441:26:1",
"nodeType": "YulBlock",
"src": "9441:26:1",
"statements": [
{
"nativeSrc": "9443:22:1",
"nodeType": "YulAssignment",
"src": "9443:22:1",
"value": {
"arguments": [
{
"name": "start",
"nativeSrc": "9456:5:1",
"nodeType": "YulIdentifier",
"src": "9456:5:1"
},
{
"kind": "number",
"nativeSrc": "9463:1:1",
"nodeType": "YulLiteral",
"src": "9463:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9452:3:1",
"nodeType": "YulIdentifier",
"src": "9452:3:1"
},
"nativeSrc": "9452:13:1",
"nodeType": "YulFunctionCall",
"src": "9452:13:1"
},
"variableNames": [
{
"name": "start",
"nativeSrc": "9443:5:1",
"nodeType": "YulIdentifier",
"src": "9443:5:1"
}
]
}
]
},
"pre": {
"nativeSrc": "9423:2:1",
"nodeType": "YulBlock",
"src": "9423:2:1",
"statements": []
},
"src": "9419:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "9359:186:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nativeSrc": "9397:5:1",
"nodeType": "YulTypedName",
"src": "9397:5:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "9404:3:1",
"nodeType": "YulTypedName",
"src": "9404:3:1",
"type": ""
}
],
"src": "9359:186:1"
},
{
"body": {
"nativeSrc": "9630:464:1",
"nodeType": "YulBlock",
"src": "9630:464:1",
"statements": [
{
"body": {
"nativeSrc": "9656:431:1",
"nodeType": "YulBlock",
"src": "9656:431:1",
"statements": [
{
"nativeSrc": "9670:54:1",
"nodeType": "YulVariableDeclaration",
"src": "9670:54:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "9718:5:1",
"nodeType": "YulIdentifier",
"src": "9718:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "9686:31:1",
"nodeType": "YulIdentifier",
"src": "9686:31:1"
},
"nativeSrc": "9686:38:1",
"nodeType": "YulFunctionCall",
"src": "9686:38:1"
},
"variables": [
{
"name": "dataArea",
"nativeSrc": "9674:8:1",
"nodeType": "YulTypedName",
"src": "9674:8:1",
"type": ""
}
]
},
{
"nativeSrc": "9737:63:1",
"nodeType": "YulVariableDeclaration",
"src": "9737:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nativeSrc": "9760:8:1",
"nodeType": "YulIdentifier",
"src": "9760:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nativeSrc": "9788:10:1",
"nodeType": "YulIdentifier",
"src": "9788:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "9770:17:1",
"nodeType": "YulIdentifier",
"src": "9770:17:1"
},
"nativeSrc": "9770:29:1",
"nodeType": "YulFunctionCall",
"src": "9770:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9756:3:1",
"nodeType": "YulIdentifier",
"src": "9756:3:1"
},
"nativeSrc": "9756:44:1",
"nodeType": "YulFunctionCall",
"src": "9756:44:1"
},
"variables": [
{
"name": "deleteStart",
"nativeSrc": "9741:11:1",
"nodeType": "YulTypedName",
"src": "9741:11:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "9957:27:1",
"nodeType": "YulBlock",
"src": "9957:27:1",
"statements": [
{
"nativeSrc": "9959:23:1",
"nodeType": "YulAssignment",
"src": "9959:23:1",
"value": {
"name": "dataArea",
"nativeSrc": "9974:8:1",
"nodeType": "YulIdentifier",
"src": "9974:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nativeSrc": "9959:11:1",
"nodeType": "YulIdentifier",
"src": "9959:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "9941:10:1",
"nodeType": "YulIdentifier",
"src": "9941:10:1"
},
{
"kind": "number",
"nativeSrc": "9953:2:1",
"nodeType": "YulLiteral",
"src": "9953:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "9938:2:1",
"nodeType": "YulIdentifier",
"src": "9938:2:1"
},
"nativeSrc": "9938:18:1",
"nodeType": "YulFunctionCall",
"src": "9938:18:1"
},
"nativeSrc": "9935:49:1",
"nodeType": "YulIf",
"src": "9935:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nativeSrc": "10026:11:1",
"nodeType": "YulIdentifier",
"src": "10026:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nativeSrc": "10043:8:1",
"nodeType": "YulIdentifier",
"src": "10043:8:1"
},
{
"arguments": [
{
"name": "len",
"nativeSrc": "10071:3:1",
"nodeType": "YulIdentifier",
"src": "10071:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "10053:17:1",
"nodeType": "YulIdentifier",
"src": "10053:17:1"
},
"nativeSrc": "10053:22:1",
"nodeType": "YulFunctionCall",
"src": "10053:22:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10039:3:1",
"nodeType": "YulIdentifier",
"src": "10039:3:1"
},
"nativeSrc": "10039:37:1",
"nodeType": "YulFunctionCall",
"src": "10039:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "9997:28:1",
"nodeType": "YulIdentifier",
"src": "9997:28:1"
},
"nativeSrc": "9997:80:1",
"nodeType": "YulFunctionCall",
"src": "9997:80:1"
},
"nativeSrc": "9997:80:1",
"nodeType": "YulExpressionStatement",
"src": "9997:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "9647:3:1",
"nodeType": "YulIdentifier",
"src": "9647:3:1"
},
{
"kind": "number",
"nativeSrc": "9652:2:1",
"nodeType": "YulLiteral",
"src": "9652:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "9644:2:1",
"nodeType": "YulIdentifier",
"src": "9644:2:1"
},
"nativeSrc": "9644:11:1",
"nodeType": "YulFunctionCall",
"src": "9644:11:1"
},
"nativeSrc": "9641:446:1",
"nodeType": "YulIf",
"src": "9641:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "9551:543:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nativeSrc": "9606:5:1",
"nodeType": "YulTypedName",
"src": "9606:5:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "9613:3:1",
"nodeType": "YulTypedName",
"src": "9613:3:1",
"type": ""
},
{
"name": "startIndex",
"nativeSrc": "9618:10:1",
"nodeType": "YulTypedName",
"src": "9618:10:1",
"type": ""
}
],
"src": "9551:543:1"
},
{
"body": {
"nativeSrc": "10163:54:1",
"nodeType": "YulBlock",
"src": "10163:54:1",
"statements": [
{
"nativeSrc": "10173:37:1",
"nodeType": "YulAssignment",
"src": "10173:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "10198:4:1",
"nodeType": "YulIdentifier",
"src": "10198:4:1"
},
{
"name": "value",
"nativeSrc": "10204:5:1",
"nodeType": "YulIdentifier",
"src": "10204:5:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "10194:3:1",
"nodeType": "YulIdentifier",
"src": "10194:3:1"
},
"nativeSrc": "10194:16:1",
"nodeType": "YulFunctionCall",
"src": "10194:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "10173:8:1",
"nodeType": "YulIdentifier",
"src": "10173:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "10100:117:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "10138:4:1",
"nodeType": "YulTypedName",
"src": "10138:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "10144:5:1",
"nodeType": "YulTypedName",
"src": "10144:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "10154:8:1",
"nodeType": "YulTypedName",
"src": "10154:8:1",
"type": ""
}
],
"src": "10100:117:1"
},
{
"body": {
"nativeSrc": "10274:118:1",
"nodeType": "YulBlock",
"src": "10274:118:1",
"statements": [
{
"nativeSrc": "10284:68:1",
"nodeType": "YulVariableDeclaration",
"src": "10284:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "10333:1:1",
"nodeType": "YulLiteral",
"src": "10333:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nativeSrc": "10336:5:1",
"nodeType": "YulIdentifier",
"src": "10336:5:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "10329:3:1",
"nodeType": "YulIdentifier",
"src": "10329:3:1"
},
"nativeSrc": "10329:13:1",
"nodeType": "YulFunctionCall",
"src": "10329:13:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "10348:1:1",
"nodeType": "YulLiteral",
"src": "10348:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nativeSrc": "10344:3:1",
"nodeType": "YulIdentifier",
"src": "10344:3:1"
},
"nativeSrc": "10344:6:1",
"nodeType": "YulFunctionCall",
"src": "10344:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "10300:28:1",
"nodeType": "YulIdentifier",
"src": "10300:28:1"
},
"nativeSrc": "10300:51:1",
"nodeType": "YulFunctionCall",
"src": "10300:51:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "10296:3:1",
"nodeType": "YulIdentifier",
"src": "10296:3:1"
},
"nativeSrc": "10296:56:1",
"nodeType": "YulFunctionCall",
"src": "10296:56:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "10288:4:1",
"nodeType": "YulTypedName",
"src": "10288:4:1",
"type": ""
}
]
},
{
"nativeSrc": "10361:25:1",
"nodeType": "YulAssignment",
"src": "10361:25:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "10375:4:1",
"nodeType": "YulIdentifier",
"src": "10375:4:1"
},
{
"name": "mask",
"nativeSrc": "10381:4:1",
"nodeType": "YulIdentifier",
"src": "10381:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "10371:3:1",
"nodeType": "YulIdentifier",
"src": "10371:3:1"
},
"nativeSrc": "10371:15:1",
"nodeType": "YulFunctionCall",
"src": "10371:15:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "10361:6:1",
"nodeType": "YulIdentifier",
"src": "10361:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nativeSrc": "10223:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "10251:4:1",
"nodeType": "YulTypedName",
"src": "10251:4:1",
"type": ""
},
{
"name": "bytes",
"nativeSrc": "10257:5:1",
"nodeType": "YulTypedName",
"src": "10257:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "10267:6:1",
"nodeType": "YulTypedName",
"src": "10267:6:1",
"type": ""
}
],
"src": "10223:169:1"
},
{
"body": {
"nativeSrc": "10478:214:1",
"nodeType": "YulBlock",
"src": "10478:214:1",
"statements": [
{
"nativeSrc": "10611:37:1",
"nodeType": "YulAssignment",
"src": "10611:37:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "10638:4:1",
"nodeType": "YulIdentifier",
"src": "10638:4:1"
},
{
"name": "len",
"nativeSrc": "10644:3:1",
"nodeType": "YulIdentifier",
"src": "10644:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "10619:18:1",
"nodeType": "YulIdentifier",
"src": "10619:18:1"
},
"nativeSrc": "10619:29:1",
"nodeType": "YulFunctionCall",
"src": "10619:29:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "10611:4:1",
"nodeType": "YulIdentifier",
"src": "10611:4:1"
}
]
},
{
"nativeSrc": "10657:29:1",
"nodeType": "YulAssignment",
"src": "10657:29:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "10668:4:1",
"nodeType": "YulIdentifier",
"src": "10668:4:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "10678:1:1",
"nodeType": "YulLiteral",
"src": "10678:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nativeSrc": "10681:3:1",
"nodeType": "YulIdentifier",
"src": "10681:3:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "10674:3:1",
"nodeType": "YulIdentifier",
"src": "10674:3:1"
},
"nativeSrc": "10674:11:1",
"nodeType": "YulFunctionCall",
"src": "10674:11:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "10665:2:1",
"nodeType": "YulIdentifier",
"src": "10665:2:1"
},
"nativeSrc": "10665:21:1",
"nodeType": "YulFunctionCall",
"src": "10665:21:1"
},
"variableNames": [
{
"name": "used",
"nativeSrc": "10657:4:1",
"nodeType": "YulIdentifier",
"src": "10657:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "10397:295:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "10459:4:1",
"nodeType": "YulTypedName",
"src": "10459:4:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "10465:3:1",
"nodeType": "YulTypedName",
"src": "10465:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nativeSrc": "10473:4:1",
"nodeType": "YulTypedName",
"src": "10473:4:1",
"type": ""
}
],
"src": "10397:295:1"
},
{
"body": {
"nativeSrc": "10789:1303:1",
"nodeType": "YulBlock",
"src": "10789:1303:1",
"statements": [
{
"nativeSrc": "10800:51:1",
"nodeType": "YulVariableDeclaration",
"src": "10800:51:1",
"value": {
"arguments": [
{
"name": "src",
"nativeSrc": "10847:3:1",
"nodeType": "YulIdentifier",
"src": "10847:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "10814:32:1",
"nodeType": "YulIdentifier",
"src": "10814:32:1"
},
"nativeSrc": "10814:37:1",
"nodeType": "YulFunctionCall",
"src": "10814:37:1"
},
"variables": [
{
"name": "newLen",
"nativeSrc": "10804:6:1",
"nodeType": "YulTypedName",
"src": "10804:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "10936:22:1",
"nodeType": "YulBlock",
"src": "10936:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "10938:16:1",
"nodeType": "YulIdentifier",
"src": "10938:16:1"
},
"nativeSrc": "10938:18:1",
"nodeType": "YulFunctionCall",
"src": "10938:18:1"
},
"nativeSrc": "10938:18:1",
"nodeType": "YulExpressionStatement",
"src": "10938:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "10908:6:1",
"nodeType": "YulIdentifier",
"src": "10908:6:1"
},
{
"kind": "number",
"nativeSrc": "10916:18:1",
"nodeType": "YulLiteral",
"src": "10916:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "10905:2:1",
"nodeType": "YulIdentifier",
"src": "10905:2:1"
},
"nativeSrc": "10905:30:1",
"nodeType": "YulFunctionCall",
"src": "10905:30:1"
},
"nativeSrc": "10902:56:1",
"nodeType": "YulIf",
"src": "10902:56:1"
},
{
"nativeSrc": "10968:52:1",
"nodeType": "YulVariableDeclaration",
"src": "10968:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "11014:4:1",
"nodeType": "YulIdentifier",
"src": "11014:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "11008:5:1",
"nodeType": "YulIdentifier",
"src": "11008:5:1"
},
"nativeSrc": "11008:11:1",
"nodeType": "YulFunctionCall",
"src": "11008:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nativeSrc": "10982:25:1",
"nodeType": "YulIdentifier",
"src": "10982:25:1"
},
"nativeSrc": "10982:38:1",
"nodeType": "YulFunctionCall",
"src": "10982:38:1"
},
"variables": [
{
"name": "oldLen",
"nativeSrc": "10972:6:1",
"nodeType": "YulTypedName",
"src": "10972:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "11113:4:1",
"nodeType": "YulIdentifier",
"src": "11113:4:1"
},
{
"name": "oldLen",
"nativeSrc": "11119:6:1",
"nodeType": "YulIdentifier",
"src": "11119:6:1"
},
{
"name": "newLen",
"nativeSrc": "11127:6:1",
"nodeType": "YulIdentifier",
"src": "11127:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "11067:45:1",
"nodeType": "YulIdentifier",
"src": "11067:45:1"
},
"nativeSrc": "11067:67:1",
"nodeType": "YulFunctionCall",
"src": "11067:67:1"
},
"nativeSrc": "11067:67:1",
"nodeType": "YulExpressionStatement",
"src": "11067:67:1"
},
{
"nativeSrc": "11144:18:1",
"nodeType": "YulVariableDeclaration",
"src": "11144:18:1",
"value": {
"kind": "number",
"nativeSrc": "11161:1:1",
"nodeType": "YulLiteral",
"src": "11161:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nativeSrc": "11148:9:1",
"nodeType": "YulTypedName",
"src": "11148:9:1",
"type": ""
}
]
},
{
"nativeSrc": "11172:17:1",
"nodeType": "YulAssignment",
"src": "11172:17:1",
"value": {
"kind": "number",
"nativeSrc": "11185:4:1",
"nodeType": "YulLiteral",
"src": "11185:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "11172:9:1",
"nodeType": "YulIdentifier",
"src": "11172:9:1"
}
]
},
{
"cases": [
{
"body": {
"nativeSrc": "11236:611:1",
"nodeType": "YulBlock",
"src": "11236:611:1",
"statements": [
{
"nativeSrc": "11250:37:1",
"nodeType": "YulVariableDeclaration",
"src": "11250:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "11269:6:1",
"nodeType": "YulIdentifier",
"src": "11269:6:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "11281:4:1",
"nodeType": "YulLiteral",
"src": "11281:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nativeSrc": "11277:3:1",
"nodeType": "YulIdentifier",
"src": "11277:3:1"
},
"nativeSrc": "11277:9:1",
"nodeType": "YulFunctionCall",
"src": "11277:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "11265:3:1",
"nodeType": "YulIdentifier",
"src": "11265:3:1"
},
"nativeSrc": "11265:22:1",
"nodeType": "YulFunctionCall",
"src": "11265:22:1"
},
"variables": [
{
"name": "loopEnd",
"nativeSrc": "11254:7:1",
"nodeType": "YulTypedName",
"src": "11254:7:1",
"type": ""
}
]
},
{
"nativeSrc": "11301:51:1",
"nodeType": "YulVariableDeclaration",
"src": "11301:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nativeSrc": "11347:4:1",
"nodeType": "YulIdentifier",
"src": "11347:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "11315:31:1",
"nodeType": "YulIdentifier",
"src": "11315:31:1"
},
"nativeSrc": "11315:37:1",
"nodeType": "YulFunctionCall",
"src": "11315:37:1"
},
"variables": [
{
"name": "dstPtr",
"nativeSrc": "11305:6:1",
"nodeType": "YulTypedName",
"src": "11305:6:1",
"type": ""
}
]
},
{
"nativeSrc": "11365:10:1",
"nodeType": "YulVariableDeclaration",
"src": "11365:10:1",
"value": {
"kind": "number",
"nativeSrc": "11374:1:1",
"nodeType": "YulLiteral",
"src": "11374:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "11369:1:1",
"nodeType": "YulTypedName",
"src": "11369:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "11433:163:1",
"nodeType": "YulBlock",
"src": "11433:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "11458:6:1",
"nodeType": "YulIdentifier",
"src": "11458:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "11476:3:1",
"nodeType": "YulIdentifier",
"src": "11476:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "11481:9:1",
"nodeType": "YulIdentifier",
"src": "11481:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11472:3:1",
"nodeType": "YulIdentifier",
"src": "11472:3:1"
},
"nativeSrc": "11472:19:1",
"nodeType": "YulFunctionCall",
"src": "11472:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "11466:5:1",
"nodeType": "YulIdentifier",
"src": "11466:5:1"
},
"nativeSrc": "11466:26:1",
"nodeType": "YulFunctionCall",
"src": "11466:26:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "11451:6:1",
"nodeType": "YulIdentifier",
"src": "11451:6:1"
},
"nativeSrc": "11451:42:1",
"nodeType": "YulFunctionCall",
"src": "11451:42:1"
},
"nativeSrc": "11451:42:1",
"nodeType": "YulExpressionStatement",
"src": "11451:42:1"
},
{
"nativeSrc": "11510:24:1",
"nodeType": "YulAssignment",
"src": "11510:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "11524:6:1",
"nodeType": "YulIdentifier",
"src": "11524:6:1"
},
{
"kind": "number",
"nativeSrc": "11532:1:1",
"nodeType": "YulLiteral",
"src": "11532:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11520:3:1",
"nodeType": "YulIdentifier",
"src": "11520:3:1"
},
"nativeSrc": "11520:14:1",
"nodeType": "YulFunctionCall",
"src": "11520:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nativeSrc": "11510:6:1",
"nodeType": "YulIdentifier",
"src": "11510:6:1"
}
]
},
{
"nativeSrc": "11551:31:1",
"nodeType": "YulAssignment",
"src": "11551:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nativeSrc": "11568:9:1",
"nodeType": "YulIdentifier",
"src": "11568:9:1"
},
{
"kind": "number",
"nativeSrc": "11579:2:1",
"nodeType": "YulLiteral",
"src": "11579:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11564:3:1",
"nodeType": "YulIdentifier",
"src": "11564:3:1"
},
"nativeSrc": "11564:18:1",
"nodeType": "YulFunctionCall",
"src": "11564:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "11551:9:1",
"nodeType": "YulIdentifier",
"src": "11551:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "11399:1:1",
"nodeType": "YulIdentifier",
"src": "11399:1:1"
},
{
"name": "loopEnd",
"nativeSrc": "11402:7:1",
"nodeType": "YulIdentifier",
"src": "11402:7:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "11396:2:1",
"nodeType": "YulIdentifier",
"src": "11396:2:1"
},
"nativeSrc": "11396:14:1",
"nodeType": "YulFunctionCall",
"src": "11396:14:1"
},
"nativeSrc": "11388:208:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "11411:21:1",
"nodeType": "YulBlock",
"src": "11411:21:1",
"statements": [
{
"nativeSrc": "11413:17:1",
"nodeType": "YulAssignment",
"src": "11413:17:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "11422:1:1",
"nodeType": "YulIdentifier",
"src": "11422:1:1"
},
{
"kind": "number",
"nativeSrc": "11425:4:1",
"nodeType": "YulLiteral",
"src": "11425:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11418:3:1",
"nodeType": "YulIdentifier",
"src": "11418:3:1"
},
"nativeSrc": "11418:12:1",
"nodeType": "YulFunctionCall",
"src": "11418:12:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "11413:1:1",
"nodeType": "YulIdentifier",
"src": "11413:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "11392:3:1",
"nodeType": "YulBlock",
"src": "11392:3:1",
"statements": []
},
"src": "11388:208:1"
},
{
"body": {
"nativeSrc": "11632:156:1",
"nodeType": "YulBlock",
"src": "11632:156:1",
"statements": [
{
"nativeSrc": "11650:43:1",
"nodeType": "YulVariableDeclaration",
"src": "11650:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "11677:3:1",
"nodeType": "YulIdentifier",
"src": "11677:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "11682:9:1",
"nodeType": "YulIdentifier",
"src": "11682:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11673:3:1",
"nodeType": "YulIdentifier",
"src": "11673:3:1"
},
"nativeSrc": "11673:19:1",
"nodeType": "YulFunctionCall",
"src": "11673:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "11667:5:1",
"nodeType": "YulIdentifier",
"src": "11667:5:1"
},
"nativeSrc": "11667:26:1",
"nodeType": "YulFunctionCall",
"src": "11667:26:1"
},
"variables": [
{
"name": "lastValue",
"nativeSrc": "11654:9:1",
"nodeType": "YulTypedName",
"src": "11654:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "11717:6:1",
"nodeType": "YulIdentifier",
"src": "11717:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nativeSrc": "11744:9:1",
"nodeType": "YulIdentifier",
"src": "11744:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "11759:6:1",
"nodeType": "YulIdentifier",
"src": "11759:6:1"
},
{
"kind": "number",
"nativeSrc": "11767:4:1",
"nodeType": "YulLiteral",
"src": "11767:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "11755:3:1",
"nodeType": "YulIdentifier",
"src": "11755:3:1"
},
"nativeSrc": "11755:17:1",
"nodeType": "YulFunctionCall",
"src": "11755:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "11725:18:1",
"nodeType": "YulIdentifier",
"src": "11725:18:1"
},
"nativeSrc": "11725:48:1",
"nodeType": "YulFunctionCall",
"src": "11725:48:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "11710:6:1",
"nodeType": "YulIdentifier",
"src": "11710:6:1"
},
"nativeSrc": "11710:64:1",
"nodeType": "YulFunctionCall",
"src": "11710:64:1"
},
"nativeSrc": "11710:64:1",
"nodeType": "YulExpressionStatement",
"src": "11710:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nativeSrc": "11615:7:1",
"nodeType": "YulIdentifier",
"src": "11615:7:1"
},
{
"name": "newLen",
"nativeSrc": "11624:6:1",
"nodeType": "YulIdentifier",
"src": "11624:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "11612:2:1",
"nodeType": "YulIdentifier",
"src": "11612:2:1"
},
"nativeSrc": "11612:19:1",
"nodeType": "YulFunctionCall",
"src": "11612:19:1"
},
"nativeSrc": "11609:179:1",
"nodeType": "YulIf",
"src": "11609:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "11808:4:1",
"nodeType": "YulIdentifier",
"src": "11808:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "11822:6:1",
"nodeType": "YulIdentifier",
"src": "11822:6:1"
},
{
"kind": "number",
"nativeSrc": "11830:1:1",
"nodeType": "YulLiteral",
"src": "11830:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "11818:3:1",
"nodeType": "YulIdentifier",
"src": "11818:3:1"
},
"nativeSrc": "11818:14:1",
"nodeType": "YulFunctionCall",
"src": "11818:14:1"
},
{
"kind": "number",
"nativeSrc": "11834:1:1",
"nodeType": "YulLiteral",
"src": "11834:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11814:3:1",
"nodeType": "YulIdentifier",
"src": "11814:3:1"
},
"nativeSrc": "11814:22:1",
"nodeType": "YulFunctionCall",
"src": "11814:22:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "11801:6:1",
"nodeType": "YulIdentifier",
"src": "11801:6:1"
},
"nativeSrc": "11801:36:1",
"nodeType": "YulFunctionCall",
"src": "11801:36:1"
},
"nativeSrc": "11801:36:1",
"nodeType": "YulExpressionStatement",
"src": "11801:36:1"
}
]
},
"nativeSrc": "11229:618:1",
"nodeType": "YulCase",
"src": "11229:618:1",
"value": {
"kind": "number",
"nativeSrc": "11234:1:1",
"nodeType": "YulLiteral",
"src": "11234:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "11864:222:1",
"nodeType": "YulBlock",
"src": "11864:222:1",
"statements": [
{
"nativeSrc": "11878:14:1",
"nodeType": "YulVariableDeclaration",
"src": "11878:14:1",
"value": {
"kind": "number",
"nativeSrc": "11891:1:1",
"nodeType": "YulLiteral",
"src": "11891:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nativeSrc": "11882:5:1",
"nodeType": "YulTypedName",
"src": "11882:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "11915:67:1",
"nodeType": "YulBlock",
"src": "11915:67:1",
"statements": [
{
"nativeSrc": "11933:35:1",
"nodeType": "YulAssignment",
"src": "11933:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "11952:3:1",
"nodeType": "YulIdentifier",
"src": "11952:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "11957:9:1",
"nodeType": "YulIdentifier",
"src": "11957:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "11948:3:1",
"nodeType": "YulIdentifier",
"src": "11948:3:1"
},
"nativeSrc": "11948:19:1",
"nodeType": "YulFunctionCall",
"src": "11948:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "11942:5:1",
"nodeType": "YulIdentifier",
"src": "11942:5:1"
},
"nativeSrc": "11942:26:1",
"nodeType": "YulFunctionCall",
"src": "11942:26:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "11933:5:1",
"nodeType": "YulIdentifier",
"src": "11933:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nativeSrc": "11908:6:1",
"nodeType": "YulIdentifier",
"src": "11908:6:1"
},
"nativeSrc": "11905:77:1",
"nodeType": "YulIf",
"src": "11905:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "12002:4:1",
"nodeType": "YulIdentifier",
"src": "12002:4:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "12061:5:1",
"nodeType": "YulIdentifier",
"src": "12061:5:1"
},
{
"name": "newLen",
"nativeSrc": "12068:6:1",
"nodeType": "YulIdentifier",
"src": "12068:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "12008:52:1",
"nodeType": "YulIdentifier",
"src": "12008:52:1"
},
"nativeSrc": "12008:67:1",
"nodeType": "YulFunctionCall",
"src": "12008:67:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "11995:6:1",
"nodeType": "YulIdentifier",
"src": "11995:6:1"
},
"nativeSrc": "11995:81:1",
"nodeType": "YulFunctionCall",
"src": "11995:81:1"
},
"nativeSrc": "11995:81:1",
"nodeType": "YulExpressionStatement",
"src": "11995:81:1"
}
]
},
"nativeSrc": "11856:230:1",
"nodeType": "YulCase",
"src": "11856:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "11209:6:1",
"nodeType": "YulIdentifier",
"src": "11209:6:1"
},
{
"kind": "number",
"nativeSrc": "11217:2:1",
"nodeType": "YulLiteral",
"src": "11217:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "11206:2:1",
"nodeType": "YulIdentifier",
"src": "11206:2:1"
},
"nativeSrc": "11206:14:1",
"nodeType": "YulFunctionCall",
"src": "11206:14:1"
},
"nativeSrc": "11199:887:1",
"nodeType": "YulSwitch",
"src": "11199:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nativeSrc": "10697:1395:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "10778:4:1",
"nodeType": "YulTypedName",
"src": "10778:4:1",
"type": ""
},
{
"name": "src",
"nativeSrc": "10784:3:1",
"nodeType": "YulTypedName",
"src": "10784:3:1",
"type": ""
}
],
"src": "10697:1395:1"
}
]
},
"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_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 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 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_uint256(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_string_memory_ptr(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_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\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_address_t_string_memory_ptr_t_uint256__to_t_address_t_string_memory_ptr_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 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 abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\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_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 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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b506004361061003f575f3560e01c80633fb457e414610043578063a4df1f5a14610073578063af4afe0a1461008f575b5f80fd5b61005d60048036038101906100589190610392565b6100c1565b60405161006a91906103d5565b60405180910390f35b61008d60048036038101906100889190610554565b61018c565b005b6100a960048036038101906100a491906105ae565b61024e565b6040516100b893929190610662565b60405180910390f35b5f805f5b5f80549050811015610182578373ffffffffffffffffffffffffffffffffffffffff165f82815481106100fb576100fa61069e565b5b905f5260205f2090600302015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610175575f81815481106101575761015661069e565b5b905f5260205f209060030201600201548261017291906106f8565b91505b80806001019150506100c5565b5080915050919050565b5f60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815250908060018154018082558091505060019003905f5260205f2090600302015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101908161023d9190610925565b506040820151816002015550505050565b5f818154811061025c575f80fd5b905f5260205f2090600302015f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010180546102a090610758565b80601f01602080910402602001604051908101604052809291908181526020018280546102cc90610758565b80156103175780601f106102ee57610100808354040283529160200191610317565b820191905f5260205f20905b8154815290600101906020018083116102fa57829003601f168201915b5050505050908060020154905083565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61036182610338565b9050919050565b61037181610357565b811461037b575f80fd5b50565b5f8135905061038c81610368565b92915050565b5f602082840312156103a7576103a6610330565b5b5f6103b48482850161037e565b91505092915050565b5f819050919050565b6103cf816103bd565b82525050565b5f6020820190506103e85f8301846103c6565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61043c826103f6565b810181811067ffffffffffffffff8211171561045b5761045a610406565b5b80604052505050565b5f61046d610327565b90506104798282610433565b919050565b5f67ffffffffffffffff82111561049857610497610406565b5b6104a1826103f6565b9050602081019050919050565b828183375f83830152505050565b5f6104ce6104c98461047e565b610464565b9050828152602081018484840111156104ea576104e96103f2565b5b6104f58482856104ae565b509392505050565b5f82601f830112610511576105106103ee565b5b81356105218482602086016104bc565b91505092915050565b610533816103bd565b811461053d575f80fd5b50565b5f8135905061054e8161052a565b92915050565b5f806040838503121561056a57610569610330565b5b5f83013567ffffffffffffffff81111561058757610586610334565b5b610593858286016104fd565b92505060206105a485828601610540565b9150509250929050565b5f602082840312156105c3576105c2610330565b5b5f6105d084828501610540565b91505092915050565b6105e281610357565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561061f578082015181840152602081019050610604565b5f8484015250505050565b5f610634826105e8565b61063e81856105f2565b935061064e818560208601610602565b610657816103f6565b840191505092915050565b5f6060820190506106755f8301866105d9565b8181036020830152610687818561062a565b905061069660408301846103c6565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610702826103bd565b915061070d836103bd565b9250828201905080821115610725576107246106cb565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061076f57607f821691505b6020821081036107825761078161072b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026107e47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826107a9565b6107ee86836107a9565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61082961082461081f846103bd565b610806565b6103bd565b9050919050565b5f819050919050565b6108428361080f565b61085661084e82610830565b8484546107b5565b825550505050565b5f90565b61086a61085e565b610875818484610839565b505050565b5b818110156108985761088d5f82610862565b60018101905061087b565b5050565b601f8211156108dd576108ae81610788565b6108b78461079a565b810160208510156108c6578190505b6108da6108d28561079a565b83018261087a565b50505b505050565b5f82821c905092915050565b5f6108fd5f19846008026108e2565b1980831691505092915050565b5f61091583836108ee565b9150826002028217905092915050565b61092e826105e8565b67ffffffffffffffff81111561094757610946610406565b5b6109518254610758565b61095c82828561089c565b5f60209050601f83116001811461098d575f841561097b578287015190505b610985858261090a565b8655506109ec565b601f19841661099b86610788565b5f5b828110156109c25784890151825560018201915060208501945060208101905061099d565b868310156109df57848901516109db601f8916826108ee565b8355505b6001600288020188555050505b50505050505056fea26469706673582212200be14c4590e509a9a66fb835c8326b07004a1aa3cabf556030b08ba345395b2c64736f6c63430008160033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3FB457E4 EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0xA4DF1F5A EQ PUSH2 0x73 JUMPI DUP1 PUSH4 0xAF4AFE0A EQ PUSH2 0x8F JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x5D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x58 SWAP2 SWAP1 PUSH2 0x392 JUMP JUMPDEST PUSH2 0xC1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x6A SWAP2 SWAP1 PUSH2 0x3D5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x8D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x88 SWAP2 SWAP1 PUSH2 0x554 JUMP JUMPDEST PUSH2 0x18C JUMP JUMPDEST STOP JUMPDEST PUSH2 0xA9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xA4 SWAP2 SWAP1 PUSH2 0x5AE JUMP JUMPDEST PUSH2 0x24E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB8 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x662 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 PUSH0 JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x182 JUMPI DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH0 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xFB JUMPI PUSH2 0xFA PUSH2 0x69E JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x175 JUMPI PUSH0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x157 JUMPI PUSH2 0x156 PUSH2 0x69E JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD SLOAD DUP3 PUSH2 0x172 SWAP2 SWAP1 PUSH2 0x6F8 JUMP JUMPDEST SWAP2 POP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xC5 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH0 DUP3 ADD MLOAD DUP2 PUSH0 ADD PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP2 PUSH2 0x23D SWAP2 SWAP1 PUSH2 0x925 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x25C JUMPI PUSH0 DUP1 REVERT JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH0 SWAP2 POP SWAP1 POP DUP1 PUSH0 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x2A0 SWAP1 PUSH2 0x758 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 0x2CC SWAP1 PUSH2 0x758 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x317 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x317 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2FA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP4 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x361 DUP3 PUSH2 0x338 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x371 DUP2 PUSH2 0x357 JUMP JUMPDEST DUP2 EQ PUSH2 0x37B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x38C DUP2 PUSH2 0x368 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3A7 JUMPI PUSH2 0x3A6 PUSH2 0x330 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x3B4 DUP5 DUP3 DUP6 ADD PUSH2 0x37E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x3CF DUP2 PUSH2 0x3BD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3E8 PUSH0 DUP4 ADD DUP5 PUSH2 0x3C6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x43C DUP3 PUSH2 0x3F6 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x45B JUMPI PUSH2 0x45A PUSH2 0x406 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x46D PUSH2 0x327 JUMP JUMPDEST SWAP1 POP PUSH2 0x479 DUP3 DUP3 PUSH2 0x433 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x498 JUMPI PUSH2 0x497 PUSH2 0x406 JUMP JUMPDEST JUMPDEST PUSH2 0x4A1 DUP3 PUSH2 0x3F6 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x4CE PUSH2 0x4C9 DUP5 PUSH2 0x47E JUMP JUMPDEST PUSH2 0x464 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x4EA JUMPI PUSH2 0x4E9 PUSH2 0x3F2 JUMP JUMPDEST JUMPDEST PUSH2 0x4F5 DUP5 DUP3 DUP6 PUSH2 0x4AE JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x511 JUMPI PUSH2 0x510 PUSH2 0x3EE JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x521 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x4BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x533 DUP2 PUSH2 0x3BD JUMP JUMPDEST DUP2 EQ PUSH2 0x53D JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x54E DUP2 PUSH2 0x52A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x56A JUMPI PUSH2 0x569 PUSH2 0x330 JUMP JUMPDEST JUMPDEST PUSH0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x587 JUMPI PUSH2 0x586 PUSH2 0x334 JUMP JUMPDEST JUMPDEST PUSH2 0x593 DUP6 DUP3 DUP7 ADD PUSH2 0x4FD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x5A4 DUP6 DUP3 DUP7 ADD PUSH2 0x540 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5C3 JUMPI PUSH2 0x5C2 PUSH2 0x330 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x5D0 DUP5 DUP3 DUP6 ADD PUSH2 0x540 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x5E2 DUP2 PUSH2 0x357 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x61F JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x604 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x634 DUP3 PUSH2 0x5E8 JUMP JUMPDEST PUSH2 0x63E DUP2 DUP6 PUSH2 0x5F2 JUMP JUMPDEST SWAP4 POP PUSH2 0x64E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x602 JUMP JUMPDEST PUSH2 0x657 DUP2 PUSH2 0x3F6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x675 PUSH0 DUP4 ADD DUP7 PUSH2 0x5D9 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x687 DUP2 DUP6 PUSH2 0x62A JUMP JUMPDEST SWAP1 POP PUSH2 0x696 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x3C6 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x702 DUP3 PUSH2 0x3BD JUMP JUMPDEST SWAP2 POP PUSH2 0x70D DUP4 PUSH2 0x3BD JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x725 JUMPI PUSH2 0x724 PUSH2 0x6CB JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x76F JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x782 JUMPI PUSH2 0x781 PUSH2 0x72B JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x7E4 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x7A9 JUMP JUMPDEST PUSH2 0x7EE DUP7 DUP4 PUSH2 0x7A9 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x829 PUSH2 0x824 PUSH2 0x81F DUP5 PUSH2 0x3BD JUMP JUMPDEST PUSH2 0x806 JUMP JUMPDEST PUSH2 0x3BD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x842 DUP4 PUSH2 0x80F JUMP JUMPDEST PUSH2 0x856 PUSH2 0x84E DUP3 PUSH2 0x830 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x7B5 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x86A PUSH2 0x85E JUMP JUMPDEST PUSH2 0x875 DUP2 DUP5 DUP5 PUSH2 0x839 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x898 JUMPI PUSH2 0x88D PUSH0 DUP3 PUSH2 0x862 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x87B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x8DD JUMPI PUSH2 0x8AE DUP2 PUSH2 0x788 JUMP JUMPDEST PUSH2 0x8B7 DUP5 PUSH2 0x79A JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x8C6 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x8DA PUSH2 0x8D2 DUP6 PUSH2 0x79A JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x87A JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x8FD PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x8E2 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x915 DUP4 DUP4 PUSH2 0x8EE JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x92E DUP3 PUSH2 0x5E8 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x947 JUMPI PUSH2 0x946 PUSH2 0x406 JUMP JUMPDEST JUMPDEST PUSH2 0x951 DUP3 SLOAD PUSH2 0x758 JUMP JUMPDEST PUSH2 0x95C DUP3 DUP3 DUP6 PUSH2 0x89C JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x98D JUMPI PUSH0 DUP5 ISZERO PUSH2 0x97B JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x985 DUP6 DUP3 PUSH2 0x90A JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x9EC JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x99B DUP7 PUSH2 0x788 JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x9C2 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 0x99D JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x9DF JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x9DB PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x8EE 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 INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SIGNEXTEND 0xE1 0x4C GASLIMIT SWAP1 0xE5 MULMOD 0xA9 0xA6 PUSH16 0xB835C8326B07004A1AA3CABF556030B0 DUP12 LOG3 GASLIMIT CODECOPY JUMPDEST 0x2C PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ",
"sourceMap": "303:896:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;848:348;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;695:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;439:25;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;848:348;910:4;954:21;992:6;988:166;1008:8;:15;;;;1004:1;:19;988:166;;;1067:5;1047:25;;:8;1056:1;1047:11;;;;;;;;:::i;:::-;;;;;;;;;;;;:16;;;;;;;;;;;;:25;;;1044:99;;1109:8;1118:1;1109:11;;;;;;;;:::i;:::-;;;;;;;;;;;;:18;;;1092:35;;;;;:::i;:::-;;;1044:99;1025:3;;;;;;;988:166;;;;1173:13;1166:20;;;848:348;;;:::o;695:145::-;775:8;789:42;;;;;;;;797:10;789:42;;;;;;809:12;789:42;;;;823:7;789:42;;;775:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;695:145;;:::o;439:25::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:75:1:-;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: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:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:117::-;1720:1;1717;1710:12;1734:117;1843:1;1840;1833:12;1857:102;1898:6;1949:2;1945:7;1940:2;1933:5;1929:14;1925:28;1915:38;;1857:102;;;:::o;1965:180::-;2013:77;2010:1;2003:88;2110:4;2107:1;2100:15;2134:4;2131:1;2124:15;2151:281;2234:27;2256:4;2234:27;:::i;:::-;2226:6;2222:40;2364:6;2352:10;2349:22;2328:18;2316:10;2313:34;2310:62;2307:88;;;2375:18;;:::i;:::-;2307:88;2415:10;2411:2;2404:22;2194:238;2151:281;;:::o;2438:129::-;2472:6;2499:20;;:::i;:::-;2489:30;;2528:33;2556:4;2548:6;2528:33;:::i;:::-;2438:129;;;:::o;2573:308::-;2635:4;2725:18;2717:6;2714:30;2711:56;;;2747:18;;:::i;:::-;2711:56;2785:29;2807:6;2785:29;:::i;:::-;2777:37;;2869:4;2863;2859:15;2851:23;;2573:308;;;:::o;2887:146::-;2984:6;2979:3;2974;2961:30;3025:1;3016:6;3011:3;3007:16;3000:27;2887:146;;;:::o;3039:425::-;3117:5;3142:66;3158:49;3200:6;3158:49;:::i;:::-;3142:66;:::i;:::-;3133:75;;3231:6;3224:5;3217:21;3269:4;3262:5;3258:16;3307:3;3298:6;3293:3;3289:16;3286:25;3283:112;;;3314:79;;:::i;:::-;3283:112;3404:54;3451:6;3446:3;3441;3404:54;:::i;:::-;3123:341;3039:425;;;;;:::o;3484:340::-;3540:5;3589:3;3582:4;3574:6;3570:17;3566:27;3556:122;;3597:79;;:::i;:::-;3556:122;3714:6;3701:20;3739:79;3814:3;3806:6;3799:4;3791:6;3787:17;3739:79;:::i;:::-;3730:88;;3546:278;3484:340;;;;:::o;3830:122::-;3903:24;3921:5;3903:24;:::i;:::-;3896:5;3893:35;3883:63;;3942:1;3939;3932:12;3883:63;3830:122;:::o;3958:139::-;4004:5;4042:6;4029:20;4020:29;;4058:33;4085:5;4058:33;:::i;:::-;3958:139;;;;:::o;4103:654::-;4181:6;4189;4238:2;4226:9;4217:7;4213:23;4209:32;4206:119;;;4244:79;;:::i;:::-;4206:119;4392:1;4381:9;4377:17;4364:31;4422:18;4414:6;4411:30;4408:117;;;4444:79;;:::i;:::-;4408:117;4549:63;4604:7;4595:6;4584:9;4580:22;4549:63;:::i;:::-;4539:73;;4335:287;4661:2;4687:53;4732:7;4723:6;4712:9;4708:22;4687:53;:::i;:::-;4677:63;;4632:118;4103:654;;;;;:::o;4763:329::-;4822:6;4871:2;4859:9;4850:7;4846:23;4842:32;4839:119;;;4877:79;;:::i;:::-;4839:119;4997:1;5022:53;5067:7;5058:6;5047:9;5043:22;5022:53;:::i;:::-;5012:63;;4968:117;4763:329;;;;:::o;5098:118::-;5185:24;5203:5;5185:24;:::i;:::-;5180:3;5173:37;5098:118;;:::o;5222:99::-;5274:6;5308:5;5302:12;5292:22;;5222:99;;;:::o;5327:169::-;5411:11;5445:6;5440:3;5433:19;5485:4;5480:3;5476:14;5461:29;;5327:169;;;;:::o;5502:246::-;5583:1;5593:113;5607:6;5604:1;5601:13;5593:113;;;5692:1;5687:3;5683:11;5677:18;5673:1;5668:3;5664:11;5657:39;5629:2;5626:1;5622:10;5617:15;;5593:113;;;5740:1;5731:6;5726:3;5722:16;5715:27;5564:184;5502:246;;;:::o;5754:377::-;5842:3;5870:39;5903:5;5870:39;:::i;:::-;5925:71;5989:6;5984:3;5925:71;:::i;:::-;5918:78;;6005:65;6063:6;6058:3;6051:4;6044:5;6040:16;6005:65;:::i;:::-;6095:29;6117:6;6095:29;:::i;:::-;6090:3;6086:39;6079:46;;5846:285;5754:377;;;;:::o;6137:533::-;6306:4;6344:2;6333:9;6329:18;6321:26;;6357:71;6425:1;6414:9;6410:17;6401:6;6357:71;:::i;:::-;6475:9;6469:4;6465:20;6460:2;6449:9;6445:18;6438:48;6503:78;6576:4;6567:6;6503:78;:::i;:::-;6495:86;;6591:72;6659:2;6648:9;6644:18;6635:6;6591:72;:::i;:::-;6137:533;;;;;;:::o;6676:180::-;6724:77;6721:1;6714:88;6821:4;6818:1;6811:15;6845:4;6842:1;6835:15;6862:180;6910:77;6907:1;6900:88;7007:4;7004:1;6997:15;7031:4;7028:1;7021:15;7048:191;7088:3;7107:20;7125:1;7107:20;:::i;:::-;7102:25;;7141:20;7159:1;7141:20;:::i;:::-;7136:25;;7184:1;7181;7177:9;7170:16;;7205:3;7202:1;7199:10;7196:36;;;7212:18;;:::i;:::-;7196:36;7048:191;;;;:::o;7245:180::-;7293:77;7290:1;7283:88;7390:4;7387:1;7380:15;7414:4;7411:1;7404:15;7431:320;7475:6;7512:1;7506:4;7502:12;7492:22;;7559:1;7553:4;7549:12;7580:18;7570:81;;7636:4;7628:6;7624:17;7614:27;;7570:81;7698:2;7690:6;7687:14;7667:18;7664:38;7661:84;;7717:18;;:::i;:::-;7661:84;7482:269;7431:320;;;:::o;7757:141::-;7806:4;7829:3;7821:11;;7852:3;7849:1;7842:14;7886:4;7883:1;7873:18;7865:26;;7757:141;;;:::o;7904:93::-;7941:6;7988:2;7983;7976:5;7972:14;7968:23;7958:33;;7904:93;;;:::o;8003:107::-;8047:8;8097:5;8091:4;8087:16;8066:37;;8003:107;;;;:::o;8116:393::-;8185:6;8235:1;8223:10;8219:18;8258:97;8288:66;8277:9;8258:97;:::i;:::-;8376:39;8406:8;8395:9;8376:39;:::i;:::-;8364:51;;8448:4;8444:9;8437:5;8433:21;8424:30;;8497:4;8487:8;8483:19;8476:5;8473:30;8463:40;;8192:317;;8116:393;;;;;:::o;8515:60::-;8543:3;8564:5;8557:12;;8515:60;;;:::o;8581:142::-;8631:9;8664:53;8682:34;8691:24;8709:5;8691:24;:::i;:::-;8682:34;:::i;:::-;8664:53;:::i;:::-;8651:66;;8581:142;;;:::o;8729:75::-;8772:3;8793:5;8786:12;;8729:75;;;:::o;8810:269::-;8920:39;8951:7;8920:39;:::i;:::-;8981:91;9030:41;9054:16;9030:41;:::i;:::-;9022:6;9015:4;9009:11;8981:91;:::i;:::-;8975:4;8968:105;8886:193;8810:269;;;:::o;9085:73::-;9130:3;9085:73;:::o;9164:189::-;9241:32;;:::i;:::-;9282:65;9340:6;9332;9326:4;9282:65;:::i;:::-;9217:136;9164:189;;:::o;9359:186::-;9419:120;9436:3;9429:5;9426:14;9419:120;;;9490:39;9527:1;9520:5;9490:39;:::i;:::-;9463:1;9456:5;9452:13;9443:22;;9419:120;;;9359:186;;:::o;9551:543::-;9652:2;9647:3;9644:11;9641:446;;;9686:38;9718:5;9686:38;:::i;:::-;9770:29;9788:10;9770:29;:::i;:::-;9760:8;9756:44;9953:2;9941:10;9938:18;9935:49;;;9974:8;9959:23;;9935:49;9997:80;10053:22;10071:3;10053:22;:::i;:::-;10043:8;10039:37;10026:11;9997:80;:::i;:::-;9656:431;;9641:446;9551:543;;;:::o;10100:117::-;10154:8;10204:5;10198:4;10194:16;10173:37;;10100:117;;;;:::o;10223:169::-;10267:6;10300:51;10348:1;10344:6;10336:5;10333:1;10329:13;10300:51;:::i;:::-;10296:56;10381:4;10375;10371:15;10361:25;;10274:118;10223:169;;;;:::o;10397:295::-;10473:4;10619:29;10644:3;10638:4;10619:29;:::i;:::-;10611:37;;10681:3;10678:1;10674:11;10668:4;10665:21;10657:29;;10397:295;;;;:::o;10697:1395::-;10814:37;10847:3;10814:37;:::i;:::-;10916:18;10908:6;10905:30;10902:56;;;10938:18;;:::i;:::-;10902:56;10982:38;11014:4;11008:11;10982:38;:::i;:::-;11067:67;11127:6;11119;11113:4;11067:67;:::i;:::-;11161:1;11185:4;11172:17;;11217:2;11209:6;11206:14;11234:1;11229:618;;;;11891:1;11908:6;11905:77;;;11957:9;11952:3;11948:19;11942:26;11933:35;;11905:77;12008:67;12068:6;12061:5;12008:67;:::i;:::-;12002:4;11995:81;11864:222;11199:887;;11229:618;11281:4;11277:9;11269:6;11265:22;11315:37;11347:4;11315:37;:::i;:::-;11374:1;11388:208;11402:7;11399:1;11396:14;11388:208;;;11481:9;11476:3;11472:19;11466:26;11458:6;11451:42;11532:1;11524:6;11520:14;11510:24;;11579:2;11568:9;11564:18;11551:31;;11425:4;11422:1;11418:12;11413:17;;11388:208;;;11624:6;11615:7;11612:19;11609:179;;;11682:9;11677:3;11673:19;11667:26;11725:48;11767:4;11759:6;11755:17;11744:9;11725:48;:::i;:::-;11717:6;11710:64;11632:156;11609:179;11834:1;11830;11822:6;11818:14;11814:22;11808:4;11801:36;11236:611;;;11199:887;;10789:1303;;;10697:1395;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "520400",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"addExpense(string,uint256)": "infinite",
"expenses(uint256)": "infinite",
"getTotalExpenses(address)": "infinite"
}
},
"methodIdentifiers": {
"addExpense(string,uint256)": "a4df1f5a",
"expenses(uint256)": "af4afe0a",
"getTotalExpenses(address)": "3fb457e4"
}
},
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "string",
"name": "_description",
"type": "string"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "addExpense",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "expenses",
"outputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "string",
"name": "description",
"type": "string"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_user",
"type": "address"
}
],
"name": "getTotalExpenses",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.22+commit.4fc1097e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "string",
"name": "_description",
"type": "string"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "addExpense",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "expenses",
"outputs": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "string",
"name": "description",
"type": "string"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_user",
"type": "address"
}
],
"name": "getTotalExpenses",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/9.2-loops.sol": "ExpenseTracker"
},
"evmVersion": "shanghai",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/9.2-loops.sol": {
"keccak256": "0xa3173664de5aac4becdea26c60a75acf2ef85ab8c210ddb383fc376e94cac693",
"license": "MIT",
"urls": [
"bzz-raw://17caf5459c2e20def43203875d84da497f8685004e6e299501155c67ffd2ab59",
"dweb:/ipfs/QmSex3PDVLdLhwhvu5Ef3zZkeTayjFTCD3ndTHdQCof9iT"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"array_dataslot_t_string_storage": {
"entryPoint": 237,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 89,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 522,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_uint256": {
"entryPoint": 363,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 488,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 381,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 659,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"divide_by_32_ceil": {
"entryPoint": 255,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 189,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 632,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"identity": {
"entryPoint": 372,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 604,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 144,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 99,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 414,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 270,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 592,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 464,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 282,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 423,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 460,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:5231:1",
"nodeType": "YulBlock",
"src": "0:5231:1",
"statements": [
{
"body": {
"nativeSrc": "66:40:1",
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nativeSrc": "77:22:1",
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:1",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:1",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nativeSrc": "87:12:1",
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:1",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:1",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:1",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nativeSrc": "140:152:1",
"nodeType": "YulBlock",
"src": "140:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "157:1:1",
"nodeType": "YulLiteral",
"src": "157:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "160:77:1",
"nodeType": "YulLiteral",
"src": "160:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "150:6:1",
"nodeType": "YulIdentifier",
"src": "150:6:1"
},
"nativeSrc": "150:88:1",
"nodeType": "YulFunctionCall",
"src": "150:88:1"
},
"nativeSrc": "150:88:1",
"nodeType": "YulExpressionStatement",
"src": "150:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "254:1:1",
"nodeType": "YulLiteral",
"src": "254:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "257:4:1",
"nodeType": "YulLiteral",
"src": "257:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "247:6:1",
"nodeType": "YulIdentifier",
"src": "247:6:1"
},
"nativeSrc": "247:15:1",
"nodeType": "YulFunctionCall",
"src": "247:15:1"
},
"nativeSrc": "247:15:1",
"nodeType": "YulExpressionStatement",
"src": "247:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "278:1:1",
"nodeType": "YulLiteral",
"src": "278:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "281:4:1",
"nodeType": "YulLiteral",
"src": "281:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "271:6:1",
"nodeType": "YulIdentifier",
"src": "271:6:1"
},
"nativeSrc": "271:15:1",
"nodeType": "YulFunctionCall",
"src": "271:15:1"
},
"nativeSrc": "271:15:1",
"nodeType": "YulExpressionStatement",
"src": "271:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "112:180:1",
"nodeType": "YulFunctionDefinition",
"src": "112:180:1"
},
{
"body": {
"nativeSrc": "326:152:1",
"nodeType": "YulBlock",
"src": "326:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "343:1:1",
"nodeType": "YulLiteral",
"src": "343:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "346:77:1",
"nodeType": "YulLiteral",
"src": "346:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "336:6:1",
"nodeType": "YulIdentifier",
"src": "336:6:1"
},
"nativeSrc": "336:88:1",
"nodeType": "YulFunctionCall",
"src": "336:88:1"
},
"nativeSrc": "336:88:1",
"nodeType": "YulExpressionStatement",
"src": "336:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "440:1:1",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "443:4:1",
"nodeType": "YulLiteral",
"src": "443:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "433:6:1",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nativeSrc": "433:15:1",
"nodeType": "YulFunctionCall",
"src": "433:15:1"
},
"nativeSrc": "433:15:1",
"nodeType": "YulExpressionStatement",
"src": "433:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "464:1:1",
"nodeType": "YulLiteral",
"src": "464:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "467:4:1",
"nodeType": "YulLiteral",
"src": "467:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "457:6:1",
"nodeType": "YulIdentifier",
"src": "457:6:1"
},
"nativeSrc": "457:15:1",
"nodeType": "YulFunctionCall",
"src": "457:15:1"
},
"nativeSrc": "457:15:1",
"nodeType": "YulExpressionStatement",
"src": "457:15:1"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "298:180:1",
"nodeType": "YulFunctionDefinition",
"src": "298:180:1"
},
{
"body": {
"nativeSrc": "535:269:1",
"nodeType": "YulBlock",
"src": "535:269:1",
"statements": [
{
"nativeSrc": "545:22:1",
"nodeType": "YulAssignment",
"src": "545:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "559:4:1",
"nodeType": "YulIdentifier",
"src": "559:4:1"
},
{
"kind": "number",
"nativeSrc": "565:1:1",
"nodeType": "YulLiteral",
"src": "565:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "555:3:1",
"nodeType": "YulIdentifier",
"src": "555:3:1"
},
"nativeSrc": "555:12:1",
"nodeType": "YulFunctionCall",
"src": "555:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "545:6:1",
"nodeType": "YulIdentifier",
"src": "545:6:1"
}
]
},
{
"nativeSrc": "576:38:1",
"nodeType": "YulVariableDeclaration",
"src": "576:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "606:4:1",
"nodeType": "YulIdentifier",
"src": "606:4:1"
},
{
"kind": "number",
"nativeSrc": "612:1:1",
"nodeType": "YulLiteral",
"src": "612:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "602:3:1",
"nodeType": "YulIdentifier",
"src": "602:3:1"
},
"nativeSrc": "602:12:1",
"nodeType": "YulFunctionCall",
"src": "602:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "580:18:1",
"nodeType": "YulTypedName",
"src": "580:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "653:51:1",
"nodeType": "YulBlock",
"src": "653:51:1",
"statements": [
{
"nativeSrc": "667:27:1",
"nodeType": "YulAssignment",
"src": "667:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "681:6:1",
"nodeType": "YulIdentifier",
"src": "681:6:1"
},
{
"kind": "number",
"nativeSrc": "689:4:1",
"nodeType": "YulLiteral",
"src": "689:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "677:3:1",
"nodeType": "YulIdentifier",
"src": "677:3:1"
},
"nativeSrc": "677:17:1",
"nodeType": "YulFunctionCall",
"src": "677:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "667:6:1",
"nodeType": "YulIdentifier",
"src": "667:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "633:18:1",
"nodeType": "YulIdentifier",
"src": "633:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "626:6:1",
"nodeType": "YulIdentifier",
"src": "626:6:1"
},
"nativeSrc": "626:26:1",
"nodeType": "YulFunctionCall",
"src": "626:26:1"
},
"nativeSrc": "623:81:1",
"nodeType": "YulIf",
"src": "623:81:1"
},
{
"body": {
"nativeSrc": "756:42:1",
"nodeType": "YulBlock",
"src": "756:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "770:16:1",
"nodeType": "YulIdentifier",
"src": "770:16:1"
},
"nativeSrc": "770:18:1",
"nodeType": "YulFunctionCall",
"src": "770:18:1"
},
"nativeSrc": "770:18:1",
"nodeType": "YulExpressionStatement",
"src": "770:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "720:18:1",
"nodeType": "YulIdentifier",
"src": "720:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "743:6:1",
"nodeType": "YulIdentifier",
"src": "743:6:1"
},
{
"kind": "number",
"nativeSrc": "751:2:1",
"nodeType": "YulLiteral",
"src": "751:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "740:2:1",
"nodeType": "YulIdentifier",
"src": "740:2:1"
},
"nativeSrc": "740:14:1",
"nodeType": "YulFunctionCall",
"src": "740:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "717:2:1",
"nodeType": "YulIdentifier",
"src": "717:2:1"
},
"nativeSrc": "717:38:1",
"nodeType": "YulFunctionCall",
"src": "717:38:1"
},
"nativeSrc": "714:84:1",
"nodeType": "YulIf",
"src": "714:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "484:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "519:4:1",
"nodeType": "YulTypedName",
"src": "519:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "528:6:1",
"nodeType": "YulTypedName",
"src": "528:6:1",
"type": ""
}
],
"src": "484:320:1"
},
{
"body": {
"nativeSrc": "864:87:1",
"nodeType": "YulBlock",
"src": "864:87:1",
"statements": [
{
"nativeSrc": "874:11:1",
"nodeType": "YulAssignment",
"src": "874:11:1",
"value": {
"name": "ptr",
"nativeSrc": "882:3:1",
"nodeType": "YulIdentifier",
"src": "882:3:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "874:4:1",
"nodeType": "YulIdentifier",
"src": "874:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "902:1:1",
"nodeType": "YulLiteral",
"src": "902:1:1",
"type": "",
"value": "0"
},
{
"name": "ptr",
"nativeSrc": "905:3:1",
"nodeType": "YulIdentifier",
"src": "905:3:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "895:6:1",
"nodeType": "YulIdentifier",
"src": "895:6:1"
},
"nativeSrc": "895:14:1",
"nodeType": "YulFunctionCall",
"src": "895:14:1"
},
"nativeSrc": "895:14:1",
"nodeType": "YulExpressionStatement",
"src": "895:14:1"
},
{
"nativeSrc": "918:26:1",
"nodeType": "YulAssignment",
"src": "918:26:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "936:1:1",
"nodeType": "YulLiteral",
"src": "936:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "939:4:1",
"nodeType": "YulLiteral",
"src": "939:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "keccak256",
"nativeSrc": "926:9:1",
"nodeType": "YulIdentifier",
"src": "926:9:1"
},
"nativeSrc": "926:18:1",
"nodeType": "YulFunctionCall",
"src": "926:18:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "918:4:1",
"nodeType": "YulIdentifier",
"src": "918:4:1"
}
]
}
]
},
"name": "array_dataslot_t_string_storage",
"nativeSrc": "810:141:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "851:3:1",
"nodeType": "YulTypedName",
"src": "851:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "859:4:1",
"nodeType": "YulTypedName",
"src": "859:4:1",
"type": ""
}
],
"src": "810:141:1"
},
{
"body": {
"nativeSrc": "1001:49:1",
"nodeType": "YulBlock",
"src": "1001:49:1",
"statements": [
{
"nativeSrc": "1011:33:1",
"nodeType": "YulAssignment",
"src": "1011:33:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1029:5:1",
"nodeType": "YulIdentifier",
"src": "1029:5:1"
},
{
"kind": "number",
"nativeSrc": "1036:2:1",
"nodeType": "YulLiteral",
"src": "1036:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1025:3:1",
"nodeType": "YulIdentifier",
"src": "1025:3:1"
},
"nativeSrc": "1025:14:1",
"nodeType": "YulFunctionCall",
"src": "1025:14:1"
},
{
"kind": "number",
"nativeSrc": "1041:2:1",
"nodeType": "YulLiteral",
"src": "1041:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "div",
"nativeSrc": "1021:3:1",
"nodeType": "YulIdentifier",
"src": "1021:3:1"
},
"nativeSrc": "1021:23:1",
"nodeType": "YulFunctionCall",
"src": "1021:23:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1011:6:1",
"nodeType": "YulIdentifier",
"src": "1011:6:1"
}
]
}
]
},
"name": "divide_by_32_ceil",
"nativeSrc": "957:93:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "984:5:1",
"nodeType": "YulTypedName",
"src": "984:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "994:6:1",
"nodeType": "YulTypedName",
"src": "994:6:1",
"type": ""
}
],
"src": "957:93:1"
},
{
"body": {
"nativeSrc": "1109:54:1",
"nodeType": "YulBlock",
"src": "1109:54:1",
"statements": [
{
"nativeSrc": "1119:37:1",
"nodeType": "YulAssignment",
"src": "1119:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "1144:4:1",
"nodeType": "YulIdentifier",
"src": "1144:4:1"
},
{
"name": "value",
"nativeSrc": "1150:5:1",
"nodeType": "YulIdentifier",
"src": "1150:5:1"
}
],
"functionName": {
"name": "shl",
"nativeSrc": "1140:3:1",
"nodeType": "YulIdentifier",
"src": "1140:3:1"
},
"nativeSrc": "1140:16:1",
"nodeType": "YulFunctionCall",
"src": "1140:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "1119:8:1",
"nodeType": "YulIdentifier",
"src": "1119:8:1"
}
]
}
]
},
"name": "shift_left_dynamic",
"nativeSrc": "1056:107:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "1084:4:1",
"nodeType": "YulTypedName",
"src": "1084:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "1090:5:1",
"nodeType": "YulTypedName",
"src": "1090:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "1100:8:1",
"nodeType": "YulTypedName",
"src": "1100:8:1",
"type": ""
}
],
"src": "1056:107:1"
},
{
"body": {
"nativeSrc": "1245:317:1",
"nodeType": "YulBlock",
"src": "1245:317:1",
"statements": [
{
"nativeSrc": "1255:35:1",
"nodeType": "YulVariableDeclaration",
"src": "1255:35:1",
"value": {
"arguments": [
{
"name": "shiftBytes",
"nativeSrc": "1276:10:1",
"nodeType": "YulIdentifier",
"src": "1276:10:1"
},
{
"kind": "number",
"nativeSrc": "1288:1:1",
"nodeType": "YulLiteral",
"src": "1288:1:1",
"type": "",
"value": "8"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "1272:3:1",
"nodeType": "YulIdentifier",
"src": "1272:3:1"
},
"nativeSrc": "1272:18:1",
"nodeType": "YulFunctionCall",
"src": "1272:18:1"
},
"variables": [
{
"name": "shiftBits",
"nativeSrc": "1259:9:1",
"nodeType": "YulTypedName",
"src": "1259:9:1",
"type": ""
}
]
},
{
"nativeSrc": "1299:109:1",
"nodeType": "YulVariableDeclaration",
"src": "1299:109:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "1330:9:1",
"nodeType": "YulIdentifier",
"src": "1330:9:1"
},
{
"kind": "number",
"nativeSrc": "1341:66:1",
"nodeType": "YulLiteral",
"src": "1341:66:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "1311:18:1",
"nodeType": "YulIdentifier",
"src": "1311:18:1"
},
"nativeSrc": "1311:97:1",
"nodeType": "YulFunctionCall",
"src": "1311:97:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "1303:4:1",
"nodeType": "YulTypedName",
"src": "1303:4:1",
"type": ""
}
]
},
{
"nativeSrc": "1417:51:1",
"nodeType": "YulAssignment",
"src": "1417:51:1",
"value": {
"arguments": [
{
"name": "shiftBits",
"nativeSrc": "1448:9:1",
"nodeType": "YulIdentifier",
"src": "1448:9:1"
},
{
"name": "toInsert",
"nativeSrc": "1459:8:1",
"nodeType": "YulIdentifier",
"src": "1459:8:1"
}
],
"functionName": {
"name": "shift_left_dynamic",
"nativeSrc": "1429:18:1",
"nodeType": "YulIdentifier",
"src": "1429:18:1"
},
"nativeSrc": "1429:39:1",
"nodeType": "YulFunctionCall",
"src": "1429:39:1"
},
"variableNames": [
{
"name": "toInsert",
"nativeSrc": "1417:8:1",
"nodeType": "YulIdentifier",
"src": "1417:8:1"
}
]
},
{
"nativeSrc": "1477:30:1",
"nodeType": "YulAssignment",
"src": "1477:30:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1490:5:1",
"nodeType": "YulIdentifier",
"src": "1490:5:1"
},
{
"arguments": [
{
"name": "mask",
"nativeSrc": "1501:4:1",
"nodeType": "YulIdentifier",
"src": "1501:4:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "1497:3:1",
"nodeType": "YulIdentifier",
"src": "1497:3:1"
},
"nativeSrc": "1497:9:1",
"nodeType": "YulFunctionCall",
"src": "1497:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1486:3:1",
"nodeType": "YulIdentifier",
"src": "1486:3:1"
},
"nativeSrc": "1486:21:1",
"nodeType": "YulFunctionCall",
"src": "1486:21:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "1477:5:1",
"nodeType": "YulIdentifier",
"src": "1477:5:1"
}
]
},
{
"nativeSrc": "1516:40:1",
"nodeType": "YulAssignment",
"src": "1516:40:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "1529:5:1",
"nodeType": "YulIdentifier",
"src": "1529:5:1"
},
{
"arguments": [
{
"name": "toInsert",
"nativeSrc": "1540:8:1",
"nodeType": "YulIdentifier",
"src": "1540:8:1"
},
{
"name": "mask",
"nativeSrc": "1550:4:1",
"nodeType": "YulIdentifier",
"src": "1550:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1536:3:1",
"nodeType": "YulIdentifier",
"src": "1536:3:1"
},
"nativeSrc": "1536:19:1",
"nodeType": "YulFunctionCall",
"src": "1536:19:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "1526:2:1",
"nodeType": "YulIdentifier",
"src": "1526:2:1"
},
"nativeSrc": "1526:30:1",
"nodeType": "YulFunctionCall",
"src": "1526:30:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "1516:6:1",
"nodeType": "YulIdentifier",
"src": "1516:6:1"
}
]
}
]
},
"name": "update_byte_slice_dynamic32",
"nativeSrc": "1169:393:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1206:5:1",
"nodeType": "YulTypedName",
"src": "1206:5:1",
"type": ""
},
{
"name": "shiftBytes",
"nativeSrc": "1213:10:1",
"nodeType": "YulTypedName",
"src": "1213:10:1",
"type": ""
},
{
"name": "toInsert",
"nativeSrc": "1225:8:1",
"nodeType": "YulTypedName",
"src": "1225:8:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "1238:6:1",
"nodeType": "YulTypedName",
"src": "1238:6:1",
"type": ""
}
],
"src": "1169:393:1"
},
{
"body": {
"nativeSrc": "1613:32:1",
"nodeType": "YulBlock",
"src": "1613:32:1",
"statements": [
{
"nativeSrc": "1623:16:1",
"nodeType": "YulAssignment",
"src": "1623:16:1",
"value": {
"name": "value",
"nativeSrc": "1634:5:1",
"nodeType": "YulIdentifier",
"src": "1634:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "1623:7:1",
"nodeType": "YulIdentifier",
"src": "1623:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "1568:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1595:5:1",
"nodeType": "YulTypedName",
"src": "1595:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "1605:7:1",
"nodeType": "YulTypedName",
"src": "1605:7:1",
"type": ""
}
],
"src": "1568:77:1"
},
{
"body": {
"nativeSrc": "1683:28:1",
"nodeType": "YulBlock",
"src": "1683:28:1",
"statements": [
{
"nativeSrc": "1693:12:1",
"nodeType": "YulAssignment",
"src": "1693:12:1",
"value": {
"name": "value",
"nativeSrc": "1700:5:1",
"nodeType": "YulIdentifier",
"src": "1700:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "1693:3:1",
"nodeType": "YulIdentifier",
"src": "1693:3:1"
}
]
}
]
},
"name": "identity",
"nativeSrc": "1651:60:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1669:5:1",
"nodeType": "YulTypedName",
"src": "1669:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "1679:3:1",
"nodeType": "YulTypedName",
"src": "1679:3:1",
"type": ""
}
],
"src": "1651:60:1"
},
{
"body": {
"nativeSrc": "1777:82:1",
"nodeType": "YulBlock",
"src": "1777:82:1",
"statements": [
{
"nativeSrc": "1787:66:1",
"nodeType": "YulAssignment",
"src": "1787:66:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "1845:5:1",
"nodeType": "YulIdentifier",
"src": "1845:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1827:17:1",
"nodeType": "YulIdentifier",
"src": "1827:17:1"
},
"nativeSrc": "1827:24:1",
"nodeType": "YulFunctionCall",
"src": "1827:24:1"
}
],
"functionName": {
"name": "identity",
"nativeSrc": "1818:8:1",
"nodeType": "YulIdentifier",
"src": "1818:8:1"
},
"nativeSrc": "1818:34:1",
"nodeType": "YulFunctionCall",
"src": "1818:34:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1800:17:1",
"nodeType": "YulIdentifier",
"src": "1800:17:1"
},
"nativeSrc": "1800:53:1",
"nodeType": "YulFunctionCall",
"src": "1800:53:1"
},
"variableNames": [
{
"name": "converted",
"nativeSrc": "1787:9:1",
"nodeType": "YulIdentifier",
"src": "1787:9:1"
}
]
}
]
},
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "1717:142:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1757:5:1",
"nodeType": "YulTypedName",
"src": "1757:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nativeSrc": "1767:9:1",
"nodeType": "YulTypedName",
"src": "1767:9:1",
"type": ""
}
],
"src": "1717:142:1"
},
{
"body": {
"nativeSrc": "1912:28:1",
"nodeType": "YulBlock",
"src": "1912:28:1",
"statements": [
{
"nativeSrc": "1922:12:1",
"nodeType": "YulAssignment",
"src": "1922:12:1",
"value": {
"name": "value",
"nativeSrc": "1929:5:1",
"nodeType": "YulIdentifier",
"src": "1929:5:1"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "1922:3:1",
"nodeType": "YulIdentifier",
"src": "1922:3:1"
}
]
}
]
},
"name": "prepare_store_t_uint256",
"nativeSrc": "1865:75:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1898:5:1",
"nodeType": "YulTypedName",
"src": "1898:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nativeSrc": "1908:3:1",
"nodeType": "YulTypedName",
"src": "1908:3:1",
"type": ""
}
],
"src": "1865:75:1"
},
{
"body": {
"nativeSrc": "2022:193:1",
"nodeType": "YulBlock",
"src": "2022:193:1",
"statements": [
{
"nativeSrc": "2032:63:1",
"nodeType": "YulVariableDeclaration",
"src": "2032:63:1",
"value": {
"arguments": [
{
"name": "value_0",
"nativeSrc": "2087:7:1",
"nodeType": "YulIdentifier",
"src": "2087:7:1"
}
],
"functionName": {
"name": "convert_t_uint256_to_t_uint256",
"nativeSrc": "2056:30:1",
"nodeType": "YulIdentifier",
"src": "2056:30:1"
},
"nativeSrc": "2056:39:1",
"nodeType": "YulFunctionCall",
"src": "2056:39:1"
},
"variables": [
{
"name": "convertedValue_0",
"nativeSrc": "2036:16:1",
"nodeType": "YulTypedName",
"src": "2036:16:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "2111:4:1",
"nodeType": "YulIdentifier",
"src": "2111:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "2151:4:1",
"nodeType": "YulIdentifier",
"src": "2151:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "2145:5:1",
"nodeType": "YulIdentifier",
"src": "2145:5:1"
},
"nativeSrc": "2145:11:1",
"nodeType": "YulFunctionCall",
"src": "2145:11:1"
},
{
"name": "offset",
"nativeSrc": "2158:6:1",
"nodeType": "YulIdentifier",
"src": "2158:6:1"
},
{
"arguments": [
{
"name": "convertedValue_0",
"nativeSrc": "2190:16:1",
"nodeType": "YulIdentifier",
"src": "2190:16:1"
}
],
"functionName": {
"name": "prepare_store_t_uint256",
"nativeSrc": "2166:23:1",
"nodeType": "YulIdentifier",
"src": "2166:23:1"
},
"nativeSrc": "2166:41:1",
"nodeType": "YulFunctionCall",
"src": "2166:41:1"
}
],
"functionName": {
"name": "update_byte_slice_dynamic32",
"nativeSrc": "2117:27:1",
"nodeType": "YulIdentifier",
"src": "2117:27:1"
},
"nativeSrc": "2117:91:1",
"nodeType": "YulFunctionCall",
"src": "2117:91:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "2104:6:1",
"nodeType": "YulIdentifier",
"src": "2104:6:1"
},
"nativeSrc": "2104:105:1",
"nodeType": "YulFunctionCall",
"src": "2104:105:1"
},
"nativeSrc": "2104:105:1",
"nodeType": "YulExpressionStatement",
"src": "2104:105:1"
}
]
},
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "1946:269:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "1999:4:1",
"nodeType": "YulTypedName",
"src": "1999:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "2005:6:1",
"nodeType": "YulTypedName",
"src": "2005:6:1",
"type": ""
},
{
"name": "value_0",
"nativeSrc": "2013:7:1",
"nodeType": "YulTypedName",
"src": "2013:7:1",
"type": ""
}
],
"src": "1946:269:1"
},
{
"body": {
"nativeSrc": "2270:24:1",
"nodeType": "YulBlock",
"src": "2270:24:1",
"statements": [
{
"nativeSrc": "2280:8:1",
"nodeType": "YulAssignment",
"src": "2280:8:1",
"value": {
"kind": "number",
"nativeSrc": "2287:1:1",
"nodeType": "YulLiteral",
"src": "2287:1:1",
"type": "",
"value": "0"
},
"variableNames": [
{
"name": "ret",
"nativeSrc": "2280:3:1",
"nodeType": "YulIdentifier",
"src": "2280:3:1"
}
]
}
]
},
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "2221:73:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "ret",
"nativeSrc": "2266:3:1",
"nodeType": "YulTypedName",
"src": "2266:3:1",
"type": ""
}
],
"src": "2221:73:1"
},
{
"body": {
"nativeSrc": "2353:136:1",
"nodeType": "YulBlock",
"src": "2353:136:1",
"statements": [
{
"nativeSrc": "2363:46:1",
"nodeType": "YulVariableDeclaration",
"src": "2363:46:1",
"value": {
"arguments": [],
"functionName": {
"name": "zero_value_for_split_t_uint256",
"nativeSrc": "2377:30:1",
"nodeType": "YulIdentifier",
"src": "2377:30:1"
},
"nativeSrc": "2377:32:1",
"nodeType": "YulFunctionCall",
"src": "2377:32:1"
},
"variables": [
{
"name": "zero_0",
"nativeSrc": "2367:6:1",
"nodeType": "YulTypedName",
"src": "2367:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "2462:4:1",
"nodeType": "YulIdentifier",
"src": "2462:4:1"
},
{
"name": "offset",
"nativeSrc": "2468:6:1",
"nodeType": "YulIdentifier",
"src": "2468:6:1"
},
{
"name": "zero_0",
"nativeSrc": "2476:6:1",
"nodeType": "YulIdentifier",
"src": "2476:6:1"
}
],
"functionName": {
"name": "update_storage_value_t_uint256_to_t_uint256",
"nativeSrc": "2418:43:1",
"nodeType": "YulIdentifier",
"src": "2418:43:1"
},
"nativeSrc": "2418:65:1",
"nodeType": "YulFunctionCall",
"src": "2418:65:1"
},
"nativeSrc": "2418:65:1",
"nodeType": "YulExpressionStatement",
"src": "2418:65:1"
}
]
},
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "2300:189:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "2339:4:1",
"nodeType": "YulTypedName",
"src": "2339:4:1",
"type": ""
},
{
"name": "offset",
"nativeSrc": "2345:6:1",
"nodeType": "YulTypedName",
"src": "2345:6:1",
"type": ""
}
],
"src": "2300:189:1"
},
{
"body": {
"nativeSrc": "2545:136:1",
"nodeType": "YulBlock",
"src": "2545:136:1",
"statements": [
{
"body": {
"nativeSrc": "2612:63:1",
"nodeType": "YulBlock",
"src": "2612:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "start",
"nativeSrc": "2656:5:1",
"nodeType": "YulIdentifier",
"src": "2656:5:1"
},
{
"kind": "number",
"nativeSrc": "2663:1:1",
"nodeType": "YulLiteral",
"src": "2663:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "storage_set_to_zero_t_uint256",
"nativeSrc": "2626:29:1",
"nodeType": "YulIdentifier",
"src": "2626:29:1"
},
"nativeSrc": "2626:39:1",
"nodeType": "YulFunctionCall",
"src": "2626:39:1"
},
"nativeSrc": "2626:39:1",
"nodeType": "YulExpressionStatement",
"src": "2626:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "start",
"nativeSrc": "2565:5:1",
"nodeType": "YulIdentifier",
"src": "2565:5:1"
},
{
"name": "end",
"nativeSrc": "2572:3:1",
"nodeType": "YulIdentifier",
"src": "2572:3:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "2562:2:1",
"nodeType": "YulIdentifier",
"src": "2562:2:1"
},
"nativeSrc": "2562:14:1",
"nodeType": "YulFunctionCall",
"src": "2562:14:1"
},
"nativeSrc": "2555:120:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "2577:26:1",
"nodeType": "YulBlock",
"src": "2577:26:1",
"statements": [
{
"nativeSrc": "2579:22:1",
"nodeType": "YulAssignment",
"src": "2579:22:1",
"value": {
"arguments": [
{
"name": "start",
"nativeSrc": "2592:5:1",
"nodeType": "YulIdentifier",
"src": "2592:5:1"
},
{
"kind": "number",
"nativeSrc": "2599:1:1",
"nodeType": "YulLiteral",
"src": "2599:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2588:3:1",
"nodeType": "YulIdentifier",
"src": "2588:3:1"
},
"nativeSrc": "2588:13:1",
"nodeType": "YulFunctionCall",
"src": "2588:13:1"
},
"variableNames": [
{
"name": "start",
"nativeSrc": "2579:5:1",
"nodeType": "YulIdentifier",
"src": "2579:5:1"
}
]
}
]
},
"pre": {
"nativeSrc": "2559:2:1",
"nodeType": "YulBlock",
"src": "2559:2:1",
"statements": []
},
"src": "2555:120:1"
}
]
},
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "2495:186:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "start",
"nativeSrc": "2533:5:1",
"nodeType": "YulTypedName",
"src": "2533:5:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "2540:3:1",
"nodeType": "YulTypedName",
"src": "2540:3:1",
"type": ""
}
],
"src": "2495:186:1"
},
{
"body": {
"nativeSrc": "2766:464:1",
"nodeType": "YulBlock",
"src": "2766:464:1",
"statements": [
{
"body": {
"nativeSrc": "2792:431:1",
"nodeType": "YulBlock",
"src": "2792:431:1",
"statements": [
{
"nativeSrc": "2806:54:1",
"nodeType": "YulVariableDeclaration",
"src": "2806:54:1",
"value": {
"arguments": [
{
"name": "array",
"nativeSrc": "2854:5:1",
"nodeType": "YulIdentifier",
"src": "2854:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "2822:31:1",
"nodeType": "YulIdentifier",
"src": "2822:31:1"
},
"nativeSrc": "2822:38:1",
"nodeType": "YulFunctionCall",
"src": "2822:38:1"
},
"variables": [
{
"name": "dataArea",
"nativeSrc": "2810:8:1",
"nodeType": "YulTypedName",
"src": "2810:8:1",
"type": ""
}
]
},
{
"nativeSrc": "2873:63:1",
"nodeType": "YulVariableDeclaration",
"src": "2873:63:1",
"value": {
"arguments": [
{
"name": "dataArea",
"nativeSrc": "2896:8:1",
"nodeType": "YulIdentifier",
"src": "2896:8:1"
},
{
"arguments": [
{
"name": "startIndex",
"nativeSrc": "2924:10:1",
"nodeType": "YulIdentifier",
"src": "2924:10:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "2906:17:1",
"nodeType": "YulIdentifier",
"src": "2906:17:1"
},
"nativeSrc": "2906:29:1",
"nodeType": "YulFunctionCall",
"src": "2906:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2892:3:1",
"nodeType": "YulIdentifier",
"src": "2892:3:1"
},
"nativeSrc": "2892:44:1",
"nodeType": "YulFunctionCall",
"src": "2892:44:1"
},
"variables": [
{
"name": "deleteStart",
"nativeSrc": "2877:11:1",
"nodeType": "YulTypedName",
"src": "2877:11:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "3093:27:1",
"nodeType": "YulBlock",
"src": "3093:27:1",
"statements": [
{
"nativeSrc": "3095:23:1",
"nodeType": "YulAssignment",
"src": "3095:23:1",
"value": {
"name": "dataArea",
"nativeSrc": "3110:8:1",
"nodeType": "YulIdentifier",
"src": "3110:8:1"
},
"variableNames": [
{
"name": "deleteStart",
"nativeSrc": "3095:11:1",
"nodeType": "YulIdentifier",
"src": "3095:11:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "startIndex",
"nativeSrc": "3077:10:1",
"nodeType": "YulIdentifier",
"src": "3077:10:1"
},
{
"kind": "number",
"nativeSrc": "3089:2:1",
"nodeType": "YulLiteral",
"src": "3089:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "3074:2:1",
"nodeType": "YulIdentifier",
"src": "3074:2:1"
},
"nativeSrc": "3074:18:1",
"nodeType": "YulFunctionCall",
"src": "3074:18:1"
},
"nativeSrc": "3071:49:1",
"nodeType": "YulIf",
"src": "3071:49:1"
},
{
"expression": {
"arguments": [
{
"name": "deleteStart",
"nativeSrc": "3162:11:1",
"nodeType": "YulIdentifier",
"src": "3162:11:1"
},
{
"arguments": [
{
"name": "dataArea",
"nativeSrc": "3179:8:1",
"nodeType": "YulIdentifier",
"src": "3179:8:1"
},
{
"arguments": [
{
"name": "len",
"nativeSrc": "3207:3:1",
"nodeType": "YulIdentifier",
"src": "3207:3:1"
}
],
"functionName": {
"name": "divide_by_32_ceil",
"nativeSrc": "3189:17:1",
"nodeType": "YulIdentifier",
"src": "3189:17:1"
},
"nativeSrc": "3189:22:1",
"nodeType": "YulFunctionCall",
"src": "3189:22:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3175:3:1",
"nodeType": "YulIdentifier",
"src": "3175:3:1"
},
"nativeSrc": "3175:37:1",
"nodeType": "YulFunctionCall",
"src": "3175:37:1"
}
],
"functionName": {
"name": "clear_storage_range_t_bytes1",
"nativeSrc": "3133:28:1",
"nodeType": "YulIdentifier",
"src": "3133:28:1"
},
"nativeSrc": "3133:80:1",
"nodeType": "YulFunctionCall",
"src": "3133:80:1"
},
"nativeSrc": "3133:80:1",
"nodeType": "YulExpressionStatement",
"src": "3133:80:1"
}
]
},
"condition": {
"arguments": [
{
"name": "len",
"nativeSrc": "2783:3:1",
"nodeType": "YulIdentifier",
"src": "2783:3:1"
},
{
"kind": "number",
"nativeSrc": "2788:2:1",
"nodeType": "YulLiteral",
"src": "2788:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "2780:2:1",
"nodeType": "YulIdentifier",
"src": "2780:2:1"
},
"nativeSrc": "2780:11:1",
"nodeType": "YulFunctionCall",
"src": "2780:11:1"
},
"nativeSrc": "2777:446:1",
"nodeType": "YulIf",
"src": "2777:446:1"
}
]
},
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "2687:543:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "array",
"nativeSrc": "2742:5:1",
"nodeType": "YulTypedName",
"src": "2742:5:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "2749:3:1",
"nodeType": "YulTypedName",
"src": "2749:3:1",
"type": ""
},
{
"name": "startIndex",
"nativeSrc": "2754:10:1",
"nodeType": "YulTypedName",
"src": "2754:10:1",
"type": ""
}
],
"src": "2687:543:1"
},
{
"body": {
"nativeSrc": "3299:54:1",
"nodeType": "YulBlock",
"src": "3299:54:1",
"statements": [
{
"nativeSrc": "3309:37:1",
"nodeType": "YulAssignment",
"src": "3309:37:1",
"value": {
"arguments": [
{
"name": "bits",
"nativeSrc": "3334:4:1",
"nodeType": "YulIdentifier",
"src": "3334:4:1"
},
{
"name": "value",
"nativeSrc": "3340:5:1",
"nodeType": "YulIdentifier",
"src": "3340:5:1"
}
],
"functionName": {
"name": "shr",
"nativeSrc": "3330:3:1",
"nodeType": "YulIdentifier",
"src": "3330:3:1"
},
"nativeSrc": "3330:16:1",
"nodeType": "YulFunctionCall",
"src": "3330:16:1"
},
"variableNames": [
{
"name": "newValue",
"nativeSrc": "3309:8:1",
"nodeType": "YulIdentifier",
"src": "3309:8:1"
}
]
}
]
},
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "3236:117:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "bits",
"nativeSrc": "3274:4:1",
"nodeType": "YulTypedName",
"src": "3274:4:1",
"type": ""
},
{
"name": "value",
"nativeSrc": "3280:5:1",
"nodeType": "YulTypedName",
"src": "3280:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "newValue",
"nativeSrc": "3290:8:1",
"nodeType": "YulTypedName",
"src": "3290:8:1",
"type": ""
}
],
"src": "3236:117:1"
},
{
"body": {
"nativeSrc": "3410:118:1",
"nodeType": "YulBlock",
"src": "3410:118:1",
"statements": [
{
"nativeSrc": "3420:68:1",
"nodeType": "YulVariableDeclaration",
"src": "3420:68:1",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3469:1:1",
"nodeType": "YulLiteral",
"src": "3469:1:1",
"type": "",
"value": "8"
},
{
"name": "bytes",
"nativeSrc": "3472:5:1",
"nodeType": "YulIdentifier",
"src": "3472:5:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "3465:3:1",
"nodeType": "YulIdentifier",
"src": "3465:3:1"
},
"nativeSrc": "3465:13:1",
"nodeType": "YulFunctionCall",
"src": "3465:13:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3484:1:1",
"nodeType": "YulLiteral",
"src": "3484:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "not",
"nativeSrc": "3480:3:1",
"nodeType": "YulIdentifier",
"src": "3480:3:1"
},
"nativeSrc": "3480:6:1",
"nodeType": "YulFunctionCall",
"src": "3480:6:1"
}
],
"functionName": {
"name": "shift_right_unsigned_dynamic",
"nativeSrc": "3436:28:1",
"nodeType": "YulIdentifier",
"src": "3436:28:1"
},
"nativeSrc": "3436:51:1",
"nodeType": "YulFunctionCall",
"src": "3436:51:1"
}
],
"functionName": {
"name": "not",
"nativeSrc": "3432:3:1",
"nodeType": "YulIdentifier",
"src": "3432:3:1"
},
"nativeSrc": "3432:56:1",
"nodeType": "YulFunctionCall",
"src": "3432:56:1"
},
"variables": [
{
"name": "mask",
"nativeSrc": "3424:4:1",
"nodeType": "YulTypedName",
"src": "3424:4:1",
"type": ""
}
]
},
{
"nativeSrc": "3497:25:1",
"nodeType": "YulAssignment",
"src": "3497:25:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "3511:4:1",
"nodeType": "YulIdentifier",
"src": "3511:4:1"
},
{
"name": "mask",
"nativeSrc": "3517:4:1",
"nodeType": "YulIdentifier",
"src": "3517:4:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "3507:3:1",
"nodeType": "YulIdentifier",
"src": "3507:3:1"
},
"nativeSrc": "3507:15:1",
"nodeType": "YulFunctionCall",
"src": "3507:15:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "3497:6:1",
"nodeType": "YulIdentifier",
"src": "3497:6:1"
}
]
}
]
},
"name": "mask_bytes_dynamic",
"nativeSrc": "3359:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "3387:4:1",
"nodeType": "YulTypedName",
"src": "3387:4:1",
"type": ""
},
{
"name": "bytes",
"nativeSrc": "3393:5:1",
"nodeType": "YulTypedName",
"src": "3393:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "3403:6:1",
"nodeType": "YulTypedName",
"src": "3403:6:1",
"type": ""
}
],
"src": "3359:169:1"
},
{
"body": {
"nativeSrc": "3614:214:1",
"nodeType": "YulBlock",
"src": "3614:214:1",
"statements": [
{
"nativeSrc": "3747:37:1",
"nodeType": "YulAssignment",
"src": "3747:37:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "3774:4:1",
"nodeType": "YulIdentifier",
"src": "3774:4:1"
},
{
"name": "len",
"nativeSrc": "3780:3:1",
"nodeType": "YulIdentifier",
"src": "3780:3:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "3755:18:1",
"nodeType": "YulIdentifier",
"src": "3755:18:1"
},
"nativeSrc": "3755:29:1",
"nodeType": "YulFunctionCall",
"src": "3755:29:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "3747:4:1",
"nodeType": "YulIdentifier",
"src": "3747:4:1"
}
]
},
{
"nativeSrc": "3793:29:1",
"nodeType": "YulAssignment",
"src": "3793:29:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "3804:4:1",
"nodeType": "YulIdentifier",
"src": "3804:4:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "3814:1:1",
"nodeType": "YulLiteral",
"src": "3814:1:1",
"type": "",
"value": "2"
},
{
"name": "len",
"nativeSrc": "3817:3:1",
"nodeType": "YulIdentifier",
"src": "3817:3:1"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "3810:3:1",
"nodeType": "YulIdentifier",
"src": "3810:3:1"
},
"nativeSrc": "3810:11:1",
"nodeType": "YulFunctionCall",
"src": "3810:11:1"
}
],
"functionName": {
"name": "or",
"nativeSrc": "3801:2:1",
"nodeType": "YulIdentifier",
"src": "3801:2:1"
},
"nativeSrc": "3801:21:1",
"nodeType": "YulFunctionCall",
"src": "3801:21:1"
},
"variableNames": [
{
"name": "used",
"nativeSrc": "3793:4:1",
"nodeType": "YulIdentifier",
"src": "3793:4:1"
}
]
}
]
},
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "3533:295:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "3595:4:1",
"nodeType": "YulTypedName",
"src": "3595:4:1",
"type": ""
},
{
"name": "len",
"nativeSrc": "3601:3:1",
"nodeType": "YulTypedName",
"src": "3601:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "used",
"nativeSrc": "3609:4:1",
"nodeType": "YulTypedName",
"src": "3609:4:1",
"type": ""
}
],
"src": "3533:295:1"
},
{
"body": {
"nativeSrc": "3925:1303:1",
"nodeType": "YulBlock",
"src": "3925:1303:1",
"statements": [
{
"nativeSrc": "3936:51:1",
"nodeType": "YulVariableDeclaration",
"src": "3936:51:1",
"value": {
"arguments": [
{
"name": "src",
"nativeSrc": "3983:3:1",
"nodeType": "YulIdentifier",
"src": "3983:3:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "3950:32:1",
"nodeType": "YulIdentifier",
"src": "3950:32:1"
},
"nativeSrc": "3950:37:1",
"nodeType": "YulFunctionCall",
"src": "3950:37:1"
},
"variables": [
{
"name": "newLen",
"nativeSrc": "3940:6:1",
"nodeType": "YulTypedName",
"src": "3940:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4072:22:1",
"nodeType": "YulBlock",
"src": "4072:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "4074:16:1",
"nodeType": "YulIdentifier",
"src": "4074:16:1"
},
"nativeSrc": "4074:18:1",
"nodeType": "YulFunctionCall",
"src": "4074:18:1"
},
"nativeSrc": "4074:18:1",
"nodeType": "YulExpressionStatement",
"src": "4074:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4044:6:1",
"nodeType": "YulIdentifier",
"src": "4044:6:1"
},
{
"kind": "number",
"nativeSrc": "4052:18:1",
"nodeType": "YulLiteral",
"src": "4052:18:1",
"type": "",
"value": "0xffffffffffffffff"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4041:2:1",
"nodeType": "YulIdentifier",
"src": "4041:2:1"
},
"nativeSrc": "4041:30:1",
"nodeType": "YulFunctionCall",
"src": "4041:30:1"
},
"nativeSrc": "4038:56:1",
"nodeType": "YulIf",
"src": "4038:56:1"
},
{
"nativeSrc": "4104:52:1",
"nodeType": "YulVariableDeclaration",
"src": "4104:52:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "slot",
"nativeSrc": "4150:4:1",
"nodeType": "YulIdentifier",
"src": "4150:4:1"
}
],
"functionName": {
"name": "sload",
"nativeSrc": "4144:5:1",
"nodeType": "YulIdentifier",
"src": "4144:5:1"
},
"nativeSrc": "4144:11:1",
"nodeType": "YulFunctionCall",
"src": "4144:11:1"
}
],
"functionName": {
"name": "extract_byte_array_length",
"nativeSrc": "4118:25:1",
"nodeType": "YulIdentifier",
"src": "4118:25:1"
},
"nativeSrc": "4118:38:1",
"nodeType": "YulFunctionCall",
"src": "4118:38:1"
},
"variables": [
{
"name": "oldLen",
"nativeSrc": "4108:6:1",
"nodeType": "YulTypedName",
"src": "4108:6:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4249:4:1",
"nodeType": "YulIdentifier",
"src": "4249:4:1"
},
{
"name": "oldLen",
"nativeSrc": "4255:6:1",
"nodeType": "YulIdentifier",
"src": "4255:6:1"
},
{
"name": "newLen",
"nativeSrc": "4263:6:1",
"nodeType": "YulIdentifier",
"src": "4263:6:1"
}
],
"functionName": {
"name": "clean_up_bytearray_end_slots_t_string_storage",
"nativeSrc": "4203:45:1",
"nodeType": "YulIdentifier",
"src": "4203:45:1"
},
"nativeSrc": "4203:67:1",
"nodeType": "YulFunctionCall",
"src": "4203:67:1"
},
"nativeSrc": "4203:67:1",
"nodeType": "YulExpressionStatement",
"src": "4203:67:1"
},
{
"nativeSrc": "4280:18:1",
"nodeType": "YulVariableDeclaration",
"src": "4280:18:1",
"value": {
"kind": "number",
"nativeSrc": "4297:1:1",
"nodeType": "YulLiteral",
"src": "4297:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "srcOffset",
"nativeSrc": "4284:9:1",
"nodeType": "YulTypedName",
"src": "4284:9:1",
"type": ""
}
]
},
{
"nativeSrc": "4308:17:1",
"nodeType": "YulAssignment",
"src": "4308:17:1",
"value": {
"kind": "number",
"nativeSrc": "4321:4:1",
"nodeType": "YulLiteral",
"src": "4321:4:1",
"type": "",
"value": "0x20"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "4308:9:1",
"nodeType": "YulIdentifier",
"src": "4308:9:1"
}
]
},
{
"cases": [
{
"body": {
"nativeSrc": "4372:611:1",
"nodeType": "YulBlock",
"src": "4372:611:1",
"statements": [
{
"nativeSrc": "4386:37:1",
"nodeType": "YulVariableDeclaration",
"src": "4386:37:1",
"value": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4405:6:1",
"nodeType": "YulIdentifier",
"src": "4405:6:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "4417:4:1",
"nodeType": "YulLiteral",
"src": "4417:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "not",
"nativeSrc": "4413:3:1",
"nodeType": "YulIdentifier",
"src": "4413:3:1"
},
"nativeSrc": "4413:9:1",
"nodeType": "YulFunctionCall",
"src": "4413:9:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4401:3:1",
"nodeType": "YulIdentifier",
"src": "4401:3:1"
},
"nativeSrc": "4401:22:1",
"nodeType": "YulFunctionCall",
"src": "4401:22:1"
},
"variables": [
{
"name": "loopEnd",
"nativeSrc": "4390:7:1",
"nodeType": "YulTypedName",
"src": "4390:7:1",
"type": ""
}
]
},
{
"nativeSrc": "4437:51:1",
"nodeType": "YulVariableDeclaration",
"src": "4437:51:1",
"value": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4483:4:1",
"nodeType": "YulIdentifier",
"src": "4483:4:1"
}
],
"functionName": {
"name": "array_dataslot_t_string_storage",
"nativeSrc": "4451:31:1",
"nodeType": "YulIdentifier",
"src": "4451:31:1"
},
"nativeSrc": "4451:37:1",
"nodeType": "YulFunctionCall",
"src": "4451:37:1"
},
"variables": [
{
"name": "dstPtr",
"nativeSrc": "4441:6:1",
"nodeType": "YulTypedName",
"src": "4441:6:1",
"type": ""
}
]
},
{
"nativeSrc": "4501:10:1",
"nodeType": "YulVariableDeclaration",
"src": "4501:10:1",
"value": {
"kind": "number",
"nativeSrc": "4510:1:1",
"nodeType": "YulLiteral",
"src": "4510:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "4505:1:1",
"nodeType": "YulTypedName",
"src": "4505:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "4569:163:1",
"nodeType": "YulBlock",
"src": "4569:163:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4594:6:1",
"nodeType": "YulIdentifier",
"src": "4594:6:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "4612:3:1",
"nodeType": "YulIdentifier",
"src": "4612:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "4617:9:1",
"nodeType": "YulIdentifier",
"src": "4617:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4608:3:1",
"nodeType": "YulIdentifier",
"src": "4608:3:1"
},
"nativeSrc": "4608:19:1",
"nodeType": "YulFunctionCall",
"src": "4608:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4602:5:1",
"nodeType": "YulIdentifier",
"src": "4602:5:1"
},
"nativeSrc": "4602:26:1",
"nodeType": "YulFunctionCall",
"src": "4602:26:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "4587:6:1",
"nodeType": "YulIdentifier",
"src": "4587:6:1"
},
"nativeSrc": "4587:42:1",
"nodeType": "YulFunctionCall",
"src": "4587:42:1"
},
"nativeSrc": "4587:42:1",
"nodeType": "YulExpressionStatement",
"src": "4587:42:1"
},
{
"nativeSrc": "4646:24:1",
"nodeType": "YulAssignment",
"src": "4646:24:1",
"value": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4660:6:1",
"nodeType": "YulIdentifier",
"src": "4660:6:1"
},
{
"kind": "number",
"nativeSrc": "4668:1:1",
"nodeType": "YulLiteral",
"src": "4668:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4656:3:1",
"nodeType": "YulIdentifier",
"src": "4656:3:1"
},
"nativeSrc": "4656:14:1",
"nodeType": "YulFunctionCall",
"src": "4656:14:1"
},
"variableNames": [
{
"name": "dstPtr",
"nativeSrc": "4646:6:1",
"nodeType": "YulIdentifier",
"src": "4646:6:1"
}
]
},
{
"nativeSrc": "4687:31:1",
"nodeType": "YulAssignment",
"src": "4687:31:1",
"value": {
"arguments": [
{
"name": "srcOffset",
"nativeSrc": "4704:9:1",
"nodeType": "YulIdentifier",
"src": "4704:9:1"
},
{
"kind": "number",
"nativeSrc": "4715:2:1",
"nodeType": "YulLiteral",
"src": "4715:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4700:3:1",
"nodeType": "YulIdentifier",
"src": "4700:3:1"
},
"nativeSrc": "4700:18:1",
"nodeType": "YulFunctionCall",
"src": "4700:18:1"
},
"variableNames": [
{
"name": "srcOffset",
"nativeSrc": "4687:9:1",
"nodeType": "YulIdentifier",
"src": "4687:9:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "4535:1:1",
"nodeType": "YulIdentifier",
"src": "4535:1:1"
},
{
"name": "loopEnd",
"nativeSrc": "4538:7:1",
"nodeType": "YulIdentifier",
"src": "4538:7:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "4532:2:1",
"nodeType": "YulIdentifier",
"src": "4532:2:1"
},
"nativeSrc": "4532:14:1",
"nodeType": "YulFunctionCall",
"src": "4532:14:1"
},
"nativeSrc": "4524:208:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "4547:21:1",
"nodeType": "YulBlock",
"src": "4547:21:1",
"statements": [
{
"nativeSrc": "4549:17:1",
"nodeType": "YulAssignment",
"src": "4549:17:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "4558:1:1",
"nodeType": "YulIdentifier",
"src": "4558:1:1"
},
{
"kind": "number",
"nativeSrc": "4561:4:1",
"nodeType": "YulLiteral",
"src": "4561:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4554:3:1",
"nodeType": "YulIdentifier",
"src": "4554:3:1"
},
"nativeSrc": "4554:12:1",
"nodeType": "YulFunctionCall",
"src": "4554:12:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "4549:1:1",
"nodeType": "YulIdentifier",
"src": "4549:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "4528:3:1",
"nodeType": "YulBlock",
"src": "4528:3:1",
"statements": []
},
"src": "4524:208:1"
},
{
"body": {
"nativeSrc": "4768:156:1",
"nodeType": "YulBlock",
"src": "4768:156:1",
"statements": [
{
"nativeSrc": "4786:43:1",
"nodeType": "YulVariableDeclaration",
"src": "4786:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "4813:3:1",
"nodeType": "YulIdentifier",
"src": "4813:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "4818:9:1",
"nodeType": "YulIdentifier",
"src": "4818:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4809:3:1",
"nodeType": "YulIdentifier",
"src": "4809:3:1"
},
"nativeSrc": "4809:19:1",
"nodeType": "YulFunctionCall",
"src": "4809:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4803:5:1",
"nodeType": "YulIdentifier",
"src": "4803:5:1"
},
"nativeSrc": "4803:26:1",
"nodeType": "YulFunctionCall",
"src": "4803:26:1"
},
"variables": [
{
"name": "lastValue",
"nativeSrc": "4790:9:1",
"nodeType": "YulTypedName",
"src": "4790:9:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "dstPtr",
"nativeSrc": "4853:6:1",
"nodeType": "YulIdentifier",
"src": "4853:6:1"
},
{
"arguments": [
{
"name": "lastValue",
"nativeSrc": "4880:9:1",
"nodeType": "YulIdentifier",
"src": "4880:9:1"
},
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "4895:6:1",
"nodeType": "YulIdentifier",
"src": "4895:6:1"
},
{
"kind": "number",
"nativeSrc": "4903:4:1",
"nodeType": "YulLiteral",
"src": "4903:4:1",
"type": "",
"value": "0x1f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "4891:3:1",
"nodeType": "YulIdentifier",
"src": "4891:3:1"
},
"nativeSrc": "4891:17:1",
"nodeType": "YulFunctionCall",
"src": "4891:17:1"
}
],
"functionName": {
"name": "mask_bytes_dynamic",
"nativeSrc": "4861:18:1",
"nodeType": "YulIdentifier",
"src": "4861:18:1"
},
"nativeSrc": "4861:48:1",
"nodeType": "YulFunctionCall",
"src": "4861:48:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "4846:6:1",
"nodeType": "YulIdentifier",
"src": "4846:6:1"
},
"nativeSrc": "4846:64:1",
"nodeType": "YulFunctionCall",
"src": "4846:64:1"
},
"nativeSrc": "4846:64:1",
"nodeType": "YulExpressionStatement",
"src": "4846:64:1"
}
]
},
"condition": {
"arguments": [
{
"name": "loopEnd",
"nativeSrc": "4751:7:1",
"nodeType": "YulIdentifier",
"src": "4751:7:1"
},
{
"name": "newLen",
"nativeSrc": "4760:6:1",
"nodeType": "YulIdentifier",
"src": "4760:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "4748:2:1",
"nodeType": "YulIdentifier",
"src": "4748:2:1"
},
"nativeSrc": "4748:19:1",
"nodeType": "YulFunctionCall",
"src": "4748:19:1"
},
"nativeSrc": "4745:179:1",
"nodeType": "YulIf",
"src": "4745:179:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "4944:4:1",
"nodeType": "YulIdentifier",
"src": "4944:4:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "newLen",
"nativeSrc": "4958:6:1",
"nodeType": "YulIdentifier",
"src": "4958:6:1"
},
{
"kind": "number",
"nativeSrc": "4966:1:1",
"nodeType": "YulLiteral",
"src": "4966:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "4954:3:1",
"nodeType": "YulIdentifier",
"src": "4954:3:1"
},
"nativeSrc": "4954:14:1",
"nodeType": "YulFunctionCall",
"src": "4954:14:1"
},
{
"kind": "number",
"nativeSrc": "4970:1:1",
"nodeType": "YulLiteral",
"src": "4970:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4950:3:1",
"nodeType": "YulIdentifier",
"src": "4950:3:1"
},
"nativeSrc": "4950:22:1",
"nodeType": "YulFunctionCall",
"src": "4950:22:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "4937:6:1",
"nodeType": "YulIdentifier",
"src": "4937:6:1"
},
"nativeSrc": "4937:36:1",
"nodeType": "YulFunctionCall",
"src": "4937:36:1"
},
"nativeSrc": "4937:36:1",
"nodeType": "YulExpressionStatement",
"src": "4937:36:1"
}
]
},
"nativeSrc": "4365:618:1",
"nodeType": "YulCase",
"src": "4365:618:1",
"value": {
"kind": "number",
"nativeSrc": "4370:1:1",
"nodeType": "YulLiteral",
"src": "4370:1:1",
"type": "",
"value": "1"
}
},
{
"body": {
"nativeSrc": "5000:222:1",
"nodeType": "YulBlock",
"src": "5000:222:1",
"statements": [
{
"nativeSrc": "5014:14:1",
"nodeType": "YulVariableDeclaration",
"src": "5014:14:1",
"value": {
"kind": "number",
"nativeSrc": "5027:1:1",
"nodeType": "YulLiteral",
"src": "5027:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "value",
"nativeSrc": "5018:5:1",
"nodeType": "YulTypedName",
"src": "5018:5:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "5051:67:1",
"nodeType": "YulBlock",
"src": "5051:67:1",
"statements": [
{
"nativeSrc": "5069:35:1",
"nodeType": "YulAssignment",
"src": "5069:35:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "5088:3:1",
"nodeType": "YulIdentifier",
"src": "5088:3:1"
},
{
"name": "srcOffset",
"nativeSrc": "5093:9:1",
"nodeType": "YulIdentifier",
"src": "5093:9:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5084:3:1",
"nodeType": "YulIdentifier",
"src": "5084:3:1"
},
"nativeSrc": "5084:19:1",
"nodeType": "YulFunctionCall",
"src": "5084:19:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5078:5:1",
"nodeType": "YulIdentifier",
"src": "5078:5:1"
},
"nativeSrc": "5078:26:1",
"nodeType": "YulFunctionCall",
"src": "5078:26:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "5069:5:1",
"nodeType": "YulIdentifier",
"src": "5069:5:1"
}
]
}
]
},
"condition": {
"name": "newLen",
"nativeSrc": "5044:6:1",
"nodeType": "YulIdentifier",
"src": "5044:6:1"
},
"nativeSrc": "5041:77:1",
"nodeType": "YulIf",
"src": "5041:77:1"
},
{
"expression": {
"arguments": [
{
"name": "slot",
"nativeSrc": "5138:4:1",
"nodeType": "YulIdentifier",
"src": "5138:4:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "5197:5:1",
"nodeType": "YulIdentifier",
"src": "5197:5:1"
},
{
"name": "newLen",
"nativeSrc": "5204:6:1",
"nodeType": "YulIdentifier",
"src": "5204:6:1"
}
],
"functionName": {
"name": "extract_used_part_and_set_length_of_short_byte_array",
"nativeSrc": "5144:52:1",
"nodeType": "YulIdentifier",
"src": "5144:52:1"
},
"nativeSrc": "5144:67:1",
"nodeType": "YulFunctionCall",
"src": "5144:67:1"
}
],
"functionName": {
"name": "sstore",
"nativeSrc": "5131:6:1",
"nodeType": "YulIdentifier",
"src": "5131:6:1"
},
"nativeSrc": "5131:81:1",
"nodeType": "YulFunctionCall",
"src": "5131:81:1"
},
"nativeSrc": "5131:81:1",
"nodeType": "YulExpressionStatement",
"src": "5131:81:1"
}
]
},
"nativeSrc": "4992:230:1",
"nodeType": "YulCase",
"src": "4992:230:1",
"value": "default"
}
],
"expression": {
"arguments": [
{
"name": "newLen",
"nativeSrc": "4345:6:1",
"nodeType": "YulIdentifier",
"src": "4345:6:1"
},
{
"kind": "number",
"nativeSrc": "4353:2:1",
"nodeType": "YulLiteral",
"src": "4353:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "4342:2:1",
"nodeType": "YulIdentifier",
"src": "4342:2:1"
},
"nativeSrc": "4342:14:1",
"nodeType": "YulFunctionCall",
"src": "4342:14:1"
},
"nativeSrc": "4335:887:1",
"nodeType": "YulSwitch",
"src": "4335:887:1"
}
]
},
"name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage",
"nativeSrc": "3833:1395:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "slot",
"nativeSrc": "3914:4:1",
"nodeType": "YulTypedName",
"src": "3914:4:1",
"type": ""
},
{
"name": "src",
"nativeSrc": "3920:3:1",
"nodeType": "YulTypedName",
"src": "3920:3:1",
"type": ""
}
],
"src": "3833:1395:1"
}
]
},
"contents": "{\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": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "60806040526040518060400160405280600c81526020017f48656c6c6f20576f726c642100000000000000000000000000000000000000008152505f90816100479190610293565b50348015610053575f80fd5b50610362565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806100d457607f821691505b6020821081036100e7576100e6610090565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026101497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261010e565b610153868361010e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61019761019261018d8461016b565b610174565b61016b565b9050919050565b5f819050919050565b6101b08361017d565b6101c46101bc8261019e565b84845461011a565b825550505050565b5f90565b6101d86101cc565b6101e38184846101a7565b505050565b5b81811015610206576101fb5f826101d0565b6001810190506101e9565b5050565b601f82111561024b5761021c816100ed565b610225846100ff565b81016020851015610234578190505b610248610240856100ff565b8301826101e8565b50505b505050565b5f82821c905092915050565b5f61026b5f1984600802610250565b1980831691505092915050565b5f610283838361025c565b9150826002028217905092915050565b61029c82610059565b67ffffffffffffffff8111156102b5576102b4610063565b5b6102bf82546100bd565b6102ca82828561020a565b5f60209050601f8311600181146102fb575f84156102e9578287015190505b6102f38582610278565b86555061035a565b601f198416610309866100ed565b5f5b828110156103305784890151825560018201915060208501945060208101905061030b565b8683101561034d5784890151610349601f89168261025c565b8355505b6001600288020188555050505b505050505050565b6102138061036f5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063b627cf3b1461002d575b5f80fd5b61003561004b565b6040516100429190610160565b60405180910390f35b5f8054610057906101ad565b80601f0160208091040260200160405190810160405280929190818152602001828054610083906101ad565b80156100ce5780601f106100a5576101008083540402835291602001916100ce565b820191905f5260205f20905b8154815290600101906020018083116100b157829003601f168201915b505050505081565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561010d5780820151818401526020810190506100f2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610132826100d6565b61013c81856100e0565b935061014c8185602086016100f0565b61015581610118565b840191505092915050565b5f6020820190508181035f8301526101788184610128565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806101c457607f821691505b6020821081036101d7576101d6610180565b5b5091905056fea2646970667358221220634b43f74d3d97352ad3970b678f11a3bccb4a5288f2ad036a7efb4b8472cf8264736f6c63430008160033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0xC DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x48656C6C6F20576F726C64210000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH0 SWAP1 DUP2 PUSH2 0x47 SWAP2 SWAP1 PUSH2 0x293 JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0x53 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x362 JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xD4 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xE7 JUMPI PUSH2 0xE6 PUSH2 0x90 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x149 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x10E JUMP JUMPDEST PUSH2 0x153 DUP7 DUP4 PUSH2 0x10E 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x197 PUSH2 0x192 PUSH2 0x18D DUP5 PUSH2 0x16B JUMP JUMPDEST PUSH2 0x174 JUMP JUMPDEST PUSH2 0x16B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1B0 DUP4 PUSH2 0x17D JUMP JUMPDEST PUSH2 0x1C4 PUSH2 0x1BC DUP3 PUSH2 0x19E JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x11A JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x1CC JUMP JUMPDEST PUSH2 0x1E3 DUP2 DUP5 DUP5 PUSH2 0x1A7 JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x206 JUMPI PUSH2 0x1FB PUSH0 DUP3 PUSH2 0x1D0 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x1E9 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x24B JUMPI PUSH2 0x21C DUP2 PUSH2 0xED JUMP JUMPDEST PUSH2 0x225 DUP5 PUSH2 0xFF JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x234 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x248 PUSH2 0x240 DUP6 PUSH2 0xFF JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x1E8 JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x26B PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x250 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x283 DUP4 DUP4 PUSH2 0x25C JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x29C DUP3 PUSH2 0x59 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2B5 JUMPI PUSH2 0x2B4 PUSH2 0x63 JUMP JUMPDEST JUMPDEST PUSH2 0x2BF DUP3 SLOAD PUSH2 0xBD JUMP JUMPDEST PUSH2 0x2CA DUP3 DUP3 DUP6 PUSH2 0x20A JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2FB JUMPI PUSH0 DUP5 ISZERO PUSH2 0x2E9 JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x2F3 DUP6 DUP3 PUSH2 0x278 JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x35A JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x309 DUP7 PUSH2 0xED JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x330 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 0x30B JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x34D JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x349 PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x25C 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 0x213 DUP1 PUSH2 0x36F PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB627CF3B EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x35 PUSH2 0x4B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x42 SWAP2 SWAP1 PUSH2 0x160 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 SLOAD PUSH2 0x57 SWAP1 PUSH2 0x1AD 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 0x83 SWAP1 PUSH2 0x1AD JUMP JUMPDEST DUP1 ISZERO PUSH2 0xCE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA5 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xCE JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xB1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x10D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xF2 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x132 DUP3 PUSH2 0xD6 JUMP JUMPDEST PUSH2 0x13C DUP2 DUP6 PUSH2 0xE0 JUMP JUMPDEST SWAP4 POP PUSH2 0x14C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xF0 JUMP JUMPDEST PUSH2 0x155 DUP2 PUSH2 0x118 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x178 DUP2 DUP5 PUSH2 0x128 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1C4 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1D7 JUMPI PUSH2 0x1D6 PUSH2 0x180 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH4 0x4B43F74D RETURNDATASIZE SWAP8 CALLDATALOAD 0x2A 0xD3 SWAP8 SIGNEXTEND PUSH8 0x8F11A3BCCB4A5288 CALLCODE 0xAD SUB PUSH11 0x7EFB4B8472CF8264736F6C PUSH4 0x43000816 STOP CALLER ",
"sourceMap": "63:64:0:-:0;;;85:38;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;63:64;;;;;;;;;;;;7:99:1;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:180::-;160:77;157:1;150:88;257:4;254:1;247:15;281:4;278:1;271:15;298:180;346:77;343:1;336:88;443:4;440:1;433:15;467:4;464:1;457:15;484:320;528:6;565:1;559:4;555:12;545:22;;612:1;606:4;602:12;633:18;623:81;;689:4;681:6;677:17;667:27;;623:81;751:2;743:6;740:14;720:18;717:38;714:84;;770:18;;:::i;:::-;714:84;535:269;484:320;;;:::o;810:141::-;859:4;882:3;874:11;;905:3;902:1;895:14;939:4;936:1;926:18;918:26;;810:141;;;:::o;957:93::-;994:6;1041:2;1036;1029:5;1025:14;1021:23;1011:33;;957:93;;;:::o;1056:107::-;1100:8;1150:5;1144:4;1140:16;1119:37;;1056:107;;;;:::o;1169:393::-;1238:6;1288:1;1276:10;1272:18;1311:97;1341:66;1330:9;1311:97;:::i;:::-;1429:39;1459:8;1448:9;1429:39;:::i;:::-;1417:51;;1501:4;1497:9;1490:5;1486:21;1477:30;;1550:4;1540:8;1536:19;1529:5;1526:30;1516:40;;1245:317;;1169:393;;;;;:::o;1568:77::-;1605:7;1634:5;1623:16;;1568:77;;;:::o;1651:60::-;1679:3;1700:5;1693:12;;1651:60;;;:::o;1717:142::-;1767:9;1800:53;1818:34;1827:24;1845:5;1827:24;:::i;:::-;1818:34;:::i;:::-;1800:53;:::i;:::-;1787:66;;1717:142;;;:::o;1865:75::-;1908:3;1929:5;1922:12;;1865:75;;;:::o;1946:269::-;2056:39;2087:7;2056:39;:::i;:::-;2117:91;2166:41;2190:16;2166:41;:::i;:::-;2158:6;2151:4;2145:11;2117:91;:::i;:::-;2111:4;2104:105;2022:193;1946:269;;;:::o;2221:73::-;2266:3;2221:73;:::o;2300:189::-;2377:32;;:::i;:::-;2418:65;2476:6;2468;2462:4;2418:65;:::i;:::-;2353:136;2300:189;;:::o;2495:186::-;2555:120;2572:3;2565:5;2562:14;2555:120;;;2626:39;2663:1;2656:5;2626:39;:::i;:::-;2599:1;2592:5;2588:13;2579:22;;2555:120;;;2495:186;;:::o;2687:543::-;2788:2;2783:3;2780:11;2777:446;;;2822:38;2854:5;2822:38;:::i;:::-;2906:29;2924:10;2906:29;:::i;:::-;2896:8;2892:44;3089:2;3077:10;3074:18;3071:49;;;3110:8;3095:23;;3071:49;3133:80;3189:22;3207:3;3189:22;:::i;:::-;3179:8;3175:37;3162:11;3133:80;:::i;:::-;2792:431;;2777:446;2687:543;;;:::o;3236:117::-;3290:8;3340:5;3334:4;3330:16;3309:37;;3236:117;;;;:::o;3359:169::-;3403:6;3436:51;3484:1;3480:6;3472:5;3469:1;3465:13;3436:51;:::i;:::-;3432:56;3517:4;3511;3507:15;3497:25;;3410:118;3359:169;;;;:::o;3533:295::-;3609:4;3755:29;3780:3;3774:4;3755:29;:::i;:::-;3747:37;;3817:3;3814:1;3810:11;3804:4;3801:21;3793:29;;3533:295;;;;:::o;3833:1395::-;3950:37;3983:3;3950:37;:::i;:::-;4052:18;4044:6;4041:30;4038:56;;;4074:18;;:::i;:::-;4038:56;4118:38;4150:4;4144:11;4118:38;:::i;:::-;4203:67;4263:6;4255;4249:4;4203:67;:::i;:::-;4297:1;4321:4;4308:17;;4353:2;4345:6;4342:14;4370:1;4365:618;;;;5027:1;5044:6;5041:77;;;5093:9;5088:3;5084:19;5078:26;5069:35;;5041:77;5144:67;5204:6;5197:5;5144:67;:::i;:::-;5138:4;5131:81;5000:222;4335:887;;4365:618;4417:4;4413:9;4405:6;4401:22;4451:37;4483:4;4451:37;:::i;:::-;4510:1;4524:208;4538:7;4535:1;4532:14;4524:208;;;4617:9;4612:3;4608:19;4602:26;4594:6;4587:42;4668:1;4660:6;4656:14;4646:24;;4715:2;4704:9;4700:18;4687:31;;4561:4;4558:1;4554:12;4549:17;;4524:208;;;4760:6;4751:7;4748:19;4745:179;;;4818:9;4813:3;4809:19;4803:26;4861:48;4903:4;4895:6;4891:17;4880:9;4861:48;:::i;:::-;4853:6;4846:64;4768:156;4745:179;4970:1;4966;4958:6;4954:14;4950:22;4944:4;4937:36;4372:611;;;4335:887;;3925:1303;;;3833:1395;;:::o;63:64:0:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@welcome_4": {
"entryPoint": 75,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 296,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 352,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 214,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 224,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 240,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"extract_byte_array_length": {
"entryPoint": 429,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x22": {
"entryPoint": 384,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 280,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:1858:1",
"nodeType": "YulBlock",
"src": "0:1858:1",
"statements": [
{
"body": {
"nativeSrc": "66:40:1",
"nodeType": "YulBlock",
"src": "66:40:1",
"statements": [
{
"nativeSrc": "77:22:1",
"nodeType": "YulAssignment",
"src": "77:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "93:5:1",
"nodeType": "YulIdentifier",
"src": "93:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "87:5:1",
"nodeType": "YulIdentifier",
"src": "87:5:1"
},
"nativeSrc": "87:12:1",
"nodeType": "YulFunctionCall",
"src": "87:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "77:6:1",
"nodeType": "YulIdentifier",
"src": "77:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "7:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "49:5:1",
"nodeType": "YulTypedName",
"src": "49:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "59:6:1",
"nodeType": "YulTypedName",
"src": "59:6:1",
"type": ""
}
],
"src": "7:99:1"
},
{
"body": {
"nativeSrc": "208:73:1",
"nodeType": "YulBlock",
"src": "208:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "225:3:1",
"nodeType": "YulIdentifier",
"src": "225:3:1"
},
{
"name": "length",
"nativeSrc": "230:6:1",
"nodeType": "YulIdentifier",
"src": "230:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "218:6:1",
"nodeType": "YulIdentifier",
"src": "218:6:1"
},
"nativeSrc": "218:19:1",
"nodeType": "YulFunctionCall",
"src": "218:19:1"
},
"nativeSrc": "218:19:1",
"nodeType": "YulExpressionStatement",
"src": "218:19:1"
},
{
"nativeSrc": "246:29:1",
"nodeType": "YulAssignment",
"src": "246:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "265:3:1",
"nodeType": "YulIdentifier",
"src": "265:3:1"
},
{
"kind": "number",
"nativeSrc": "270:4:1",
"nodeType": "YulLiteral",
"src": "270:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "261:3:1",
"nodeType": "YulIdentifier",
"src": "261:3:1"
},
"nativeSrc": "261:14:1",
"nodeType": "YulFunctionCall",
"src": "261:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "246:11:1",
"nodeType": "YulIdentifier",
"src": "246:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "112:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "180:3:1",
"nodeType": "YulTypedName",
"src": "180:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "185:6:1",
"nodeType": "YulTypedName",
"src": "185:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "196:11:1",
"nodeType": "YulTypedName",
"src": "196:11:1",
"type": ""
}
],
"src": "112:169:1"
},
{
"body": {
"nativeSrc": "349:184:1",
"nodeType": "YulBlock",
"src": "349:184:1",
"statements": [
{
"nativeSrc": "359:10:1",
"nodeType": "YulVariableDeclaration",
"src": "359:10:1",
"value": {
"kind": "number",
"nativeSrc": "368:1:1",
"nodeType": "YulLiteral",
"src": "368:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "363:1:1",
"nodeType": "YulTypedName",
"src": "363:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "428:63:1",
"nodeType": "YulBlock",
"src": "428:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "453:3:1",
"nodeType": "YulIdentifier",
"src": "453:3:1"
},
{
"name": "i",
"nativeSrc": "458:1:1",
"nodeType": "YulIdentifier",
"src": "458:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "449:3:1",
"nodeType": "YulIdentifier",
"src": "449:3:1"
},
"nativeSrc": "449:11:1",
"nodeType": "YulFunctionCall",
"src": "449:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "472:3:1",
"nodeType": "YulIdentifier",
"src": "472:3:1"
},
{
"name": "i",
"nativeSrc": "477:1:1",
"nodeType": "YulIdentifier",
"src": "477:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "468:3:1",
"nodeType": "YulIdentifier",
"src": "468:3:1"
},
"nativeSrc": "468:11:1",
"nodeType": "YulFunctionCall",
"src": "468:11:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "462:5:1",
"nodeType": "YulIdentifier",
"src": "462:5:1"
},
"nativeSrc": "462:18:1",
"nodeType": "YulFunctionCall",
"src": "462:18:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "442:6:1",
"nodeType": "YulIdentifier",
"src": "442:6:1"
},
"nativeSrc": "442:39:1",
"nodeType": "YulFunctionCall",
"src": "442:39:1"
},
"nativeSrc": "442:39:1",
"nodeType": "YulExpressionStatement",
"src": "442:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "389:1:1",
"nodeType": "YulIdentifier",
"src": "389:1:1"
},
{
"name": "length",
"nativeSrc": "392:6:1",
"nodeType": "YulIdentifier",
"src": "392:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "386:2:1",
"nodeType": "YulIdentifier",
"src": "386:2:1"
},
"nativeSrc": "386:13:1",
"nodeType": "YulFunctionCall",
"src": "386:13:1"
},
"nativeSrc": "378:113:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "400:19:1",
"nodeType": "YulBlock",
"src": "400:19:1",
"statements": [
{
"nativeSrc": "402:15:1",
"nodeType": "YulAssignment",
"src": "402:15:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "411:1:1",
"nodeType": "YulIdentifier",
"src": "411:1:1"
},
{
"kind": "number",
"nativeSrc": "414:2:1",
"nodeType": "YulLiteral",
"src": "414:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "407:3:1",
"nodeType": "YulIdentifier",
"src": "407:3:1"
},
"nativeSrc": "407:10:1",
"nodeType": "YulFunctionCall",
"src": "407:10:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "402:1:1",
"nodeType": "YulIdentifier",
"src": "402:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "382:3:1",
"nodeType": "YulBlock",
"src": "382:3:1",
"statements": []
},
"src": "378:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "511:3:1",
"nodeType": "YulIdentifier",
"src": "511:3:1"
},
{
"name": "length",
"nativeSrc": "516:6:1",
"nodeType": "YulIdentifier",
"src": "516:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "507:3:1",
"nodeType": "YulIdentifier",
"src": "507:3:1"
},
"nativeSrc": "507:16:1",
"nodeType": "YulFunctionCall",
"src": "507:16:1"
},
{
"kind": "number",
"nativeSrc": "525:1:1",
"nodeType": "YulLiteral",
"src": "525:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "500:6:1",
"nodeType": "YulIdentifier",
"src": "500:6:1"
},
"nativeSrc": "500:27:1",
"nodeType": "YulFunctionCall",
"src": "500:27:1"
},
"nativeSrc": "500:27:1",
"nodeType": "YulExpressionStatement",
"src": "500:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "287:246:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "331:3:1",
"nodeType": "YulTypedName",
"src": "331:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "336:3:1",
"nodeType": "YulTypedName",
"src": "336:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "341:6:1",
"nodeType": "YulTypedName",
"src": "341:6:1",
"type": ""
}
],
"src": "287:246:1"
},
{
"body": {
"nativeSrc": "587:54:1",
"nodeType": "YulBlock",
"src": "587:54:1",
"statements": [
{
"nativeSrc": "597:38:1",
"nodeType": "YulAssignment",
"src": "597:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "615:5:1",
"nodeType": "YulIdentifier",
"src": "615:5:1"
},
{
"kind": "number",
"nativeSrc": "622:2:1",
"nodeType": "YulLiteral",
"src": "622:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "611:3:1",
"nodeType": "YulIdentifier",
"src": "611:3:1"
},
"nativeSrc": "611:14:1",
"nodeType": "YulFunctionCall",
"src": "611:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "631:2:1",
"nodeType": "YulLiteral",
"src": "631:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "627:3:1",
"nodeType": "YulIdentifier",
"src": "627:3:1"
},
"nativeSrc": "627:7:1",
"nodeType": "YulFunctionCall",
"src": "627:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "607:3:1",
"nodeType": "YulIdentifier",
"src": "607:3:1"
},
"nativeSrc": "607:28:1",
"nodeType": "YulFunctionCall",
"src": "607:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "597:6:1",
"nodeType": "YulIdentifier",
"src": "597:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "539:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "570:5:1",
"nodeType": "YulTypedName",
"src": "570:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "580:6:1",
"nodeType": "YulTypedName",
"src": "580:6:1",
"type": ""
}
],
"src": "539:102:1"
},
{
"body": {
"nativeSrc": "739:285:1",
"nodeType": "YulBlock",
"src": "739:285:1",
"statements": [
{
"nativeSrc": "749:53:1",
"nodeType": "YulVariableDeclaration",
"src": "749:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "796:5:1",
"nodeType": "YulIdentifier",
"src": "796:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "763:32:1",
"nodeType": "YulIdentifier",
"src": "763:32:1"
},
"nativeSrc": "763:39:1",
"nodeType": "YulFunctionCall",
"src": "763:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "753:6:1",
"nodeType": "YulTypedName",
"src": "753:6:1",
"type": ""
}
]
},
{
"nativeSrc": "811:78:1",
"nodeType": "YulAssignment",
"src": "811:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "877:3:1",
"nodeType": "YulIdentifier",
"src": "877:3:1"
},
{
"name": "length",
"nativeSrc": "882:6:1",
"nodeType": "YulIdentifier",
"src": "882:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "818:58:1",
"nodeType": "YulIdentifier",
"src": "818:58:1"
},
"nativeSrc": "818:71:1",
"nodeType": "YulFunctionCall",
"src": "818:71:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "811:3:1",
"nodeType": "YulIdentifier",
"src": "811:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "937:5:1",
"nodeType": "YulIdentifier",
"src": "937:5:1"
},
{
"kind": "number",
"nativeSrc": "944:4:1",
"nodeType": "YulLiteral",
"src": "944:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "933:3:1",
"nodeType": "YulIdentifier",
"src": "933:3:1"
},
"nativeSrc": "933:16:1",
"nodeType": "YulFunctionCall",
"src": "933:16:1"
},
{
"name": "pos",
"nativeSrc": "951:3:1",
"nodeType": "YulIdentifier",
"src": "951:3:1"
},
{
"name": "length",
"nativeSrc": "956:6:1",
"nodeType": "YulIdentifier",
"src": "956:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "898:34:1",
"nodeType": "YulIdentifier",
"src": "898:34:1"
},
"nativeSrc": "898:65:1",
"nodeType": "YulFunctionCall",
"src": "898:65:1"
},
"nativeSrc": "898:65:1",
"nodeType": "YulExpressionStatement",
"src": "898:65:1"
},
{
"nativeSrc": "972:46:1",
"nodeType": "YulAssignment",
"src": "972:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "983:3:1",
"nodeType": "YulIdentifier",
"src": "983:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "1010:6:1",
"nodeType": "YulIdentifier",
"src": "1010:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "988:21:1",
"nodeType": "YulIdentifier",
"src": "988:21:1"
},
"nativeSrc": "988:29:1",
"nodeType": "YulFunctionCall",
"src": "988:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "979:3:1",
"nodeType": "YulIdentifier",
"src": "979:3:1"
},
"nativeSrc": "979:39:1",
"nodeType": "YulFunctionCall",
"src": "979:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "972:3:1",
"nodeType": "YulIdentifier",
"src": "972:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "647:377:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "720:5:1",
"nodeType": "YulTypedName",
"src": "720:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "727:3:1",
"nodeType": "YulTypedName",
"src": "727:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "735:3:1",
"nodeType": "YulTypedName",
"src": "735:3:1",
"type": ""
}
],
"src": "647:377:1"
},
{
"body": {
"nativeSrc": "1148:195:1",
"nodeType": "YulBlock",
"src": "1148:195:1",
"statements": [
{
"nativeSrc": "1158:26:1",
"nodeType": "YulAssignment",
"src": "1158:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1170:9:1",
"nodeType": "YulIdentifier",
"src": "1170:9:1"
},
{
"kind": "number",
"nativeSrc": "1181:2:1",
"nodeType": "YulLiteral",
"src": "1181:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1166:3:1",
"nodeType": "YulIdentifier",
"src": "1166:3:1"
},
"nativeSrc": "1166:18:1",
"nodeType": "YulFunctionCall",
"src": "1166:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1158:4:1",
"nodeType": "YulIdentifier",
"src": "1158:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1205:9:1",
"nodeType": "YulIdentifier",
"src": "1205:9:1"
},
{
"kind": "number",
"nativeSrc": "1216:1:1",
"nodeType": "YulLiteral",
"src": "1216:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1201:3:1",
"nodeType": "YulIdentifier",
"src": "1201:3:1"
},
"nativeSrc": "1201:17:1",
"nodeType": "YulFunctionCall",
"src": "1201:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "1224:4:1",
"nodeType": "YulIdentifier",
"src": "1224:4:1"
},
{
"name": "headStart",
"nativeSrc": "1230:9:1",
"nodeType": "YulIdentifier",
"src": "1230:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1220:3:1",
"nodeType": "YulIdentifier",
"src": "1220:3:1"
},
"nativeSrc": "1220:20:1",
"nodeType": "YulFunctionCall",
"src": "1220:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1194:6:1",
"nodeType": "YulIdentifier",
"src": "1194:6:1"
},
"nativeSrc": "1194:47:1",
"nodeType": "YulFunctionCall",
"src": "1194:47:1"
},
"nativeSrc": "1194:47:1",
"nodeType": "YulExpressionStatement",
"src": "1194:47:1"
},
{
"nativeSrc": "1250:86:1",
"nodeType": "YulAssignment",
"src": "1250:86:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1322:6:1",
"nodeType": "YulIdentifier",
"src": "1322:6:1"
},
{
"name": "tail",
"nativeSrc": "1331:4:1",
"nodeType": "YulIdentifier",
"src": "1331:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "1258:63:1",
"nodeType": "YulIdentifier",
"src": "1258:63:1"
},
"nativeSrc": "1258:78:1",
"nodeType": "YulFunctionCall",
"src": "1258:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1250:4:1",
"nodeType": "YulIdentifier",
"src": "1250:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
"nativeSrc": "1030:313:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1120:9:1",
"nodeType": "YulTypedName",
"src": "1120:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1132:6:1",
"nodeType": "YulTypedName",
"src": "1132:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1143:4:1",
"nodeType": "YulTypedName",
"src": "1143:4:1",
"type": ""
}
],
"src": "1030:313:1"
},
{
"body": {
"nativeSrc": "1377:152:1",
"nodeType": "YulBlock",
"src": "1377:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1394:1:1",
"nodeType": "YulLiteral",
"src": "1394:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1397:77:1",
"nodeType": "YulLiteral",
"src": "1397:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1387:6:1",
"nodeType": "YulIdentifier",
"src": "1387:6:1"
},
"nativeSrc": "1387:88:1",
"nodeType": "YulFunctionCall",
"src": "1387:88:1"
},
"nativeSrc": "1387:88:1",
"nodeType": "YulExpressionStatement",
"src": "1387:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1491:1:1",
"nodeType": "YulLiteral",
"src": "1491:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1494:4:1",
"nodeType": "YulLiteral",
"src": "1494:4:1",
"type": "",
"value": "0x22"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1484:6:1",
"nodeType": "YulIdentifier",
"src": "1484:6:1"
},
"nativeSrc": "1484:15:1",
"nodeType": "YulFunctionCall",
"src": "1484:15:1"
},
"nativeSrc": "1484:15:1",
"nodeType": "YulExpressionStatement",
"src": "1484:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1515:1:1",
"nodeType": "YulLiteral",
"src": "1515:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1518:4:1",
"nodeType": "YulLiteral",
"src": "1518:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1508:6:1",
"nodeType": "YulIdentifier",
"src": "1508:6:1"
},
"nativeSrc": "1508:15:1",
"nodeType": "YulFunctionCall",
"src": "1508:15:1"
},
"nativeSrc": "1508:15:1",
"nodeType": "YulExpressionStatement",
"src": "1508:15:1"
}
]
},
"name": "panic_error_0x22",
"nativeSrc": "1349:180:1",
"nodeType": "YulFunctionDefinition",
"src": "1349:180:1"
},
{
"body": {
"nativeSrc": "1586:269:1",
"nodeType": "YulBlock",
"src": "1586:269:1",
"statements": [
{
"nativeSrc": "1596:22:1",
"nodeType": "YulAssignment",
"src": "1596:22:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "1610:4:1",
"nodeType": "YulIdentifier",
"src": "1610:4:1"
},
{
"kind": "number",
"nativeSrc": "1616:1:1",
"nodeType": "YulLiteral",
"src": "1616:1:1",
"type": "",
"value": "2"
}
],
"functionName": {
"name": "div",
"nativeSrc": "1606:3:1",
"nodeType": "YulIdentifier",
"src": "1606:3:1"
},
"nativeSrc": "1606:12:1",
"nodeType": "YulFunctionCall",
"src": "1606:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "1596:6:1",
"nodeType": "YulIdentifier",
"src": "1596:6:1"
}
]
},
{
"nativeSrc": "1627:38:1",
"nodeType": "YulVariableDeclaration",
"src": "1627:38:1",
"value": {
"arguments": [
{
"name": "data",
"nativeSrc": "1657:4:1",
"nodeType": "YulIdentifier",
"src": "1657:4:1"
},
{
"kind": "number",
"nativeSrc": "1663:1:1",
"nodeType": "YulLiteral",
"src": "1663:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1653:3:1",
"nodeType": "YulIdentifier",
"src": "1653:3:1"
},
"nativeSrc": "1653:12:1",
"nodeType": "YulFunctionCall",
"src": "1653:12:1"
},
"variables": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "1631:18:1",
"nodeType": "YulTypedName",
"src": "1631:18:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "1704:51:1",
"nodeType": "YulBlock",
"src": "1704:51:1",
"statements": [
{
"nativeSrc": "1718:27:1",
"nodeType": "YulAssignment",
"src": "1718:27:1",
"value": {
"arguments": [
{
"name": "length",
"nativeSrc": "1732:6:1",
"nodeType": "YulIdentifier",
"src": "1732:6:1"
},
{
"kind": "number",
"nativeSrc": "1740:4:1",
"nodeType": "YulLiteral",
"src": "1740:4:1",
"type": "",
"value": "0x7f"
}
],
"functionName": {
"name": "and",
"nativeSrc": "1728:3:1",
"nodeType": "YulIdentifier",
"src": "1728:3:1"
},
"nativeSrc": "1728:17:1",
"nodeType": "YulFunctionCall",
"src": "1728:17:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "1718:6:1",
"nodeType": "YulIdentifier",
"src": "1718:6:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "1684:18:1",
"nodeType": "YulIdentifier",
"src": "1684:18:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "1677:6:1",
"nodeType": "YulIdentifier",
"src": "1677:6:1"
},
"nativeSrc": "1677:26:1",
"nodeType": "YulFunctionCall",
"src": "1677:26:1"
},
"nativeSrc": "1674:81:1",
"nodeType": "YulIf",
"src": "1674:81:1"
},
{
"body": {
"nativeSrc": "1807:42:1",
"nodeType": "YulBlock",
"src": "1807:42:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x22",
"nativeSrc": "1821:16:1",
"nodeType": "YulIdentifier",
"src": "1821:16:1"
},
"nativeSrc": "1821:18:1",
"nodeType": "YulFunctionCall",
"src": "1821:18:1"
},
"nativeSrc": "1821:18:1",
"nodeType": "YulExpressionStatement",
"src": "1821:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "outOfPlaceEncoding",
"nativeSrc": "1771:18:1",
"nodeType": "YulIdentifier",
"src": "1771:18:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "1794:6:1",
"nodeType": "YulIdentifier",
"src": "1794:6:1"
},
{
"kind": "number",
"nativeSrc": "1802:2:1",
"nodeType": "YulLiteral",
"src": "1802:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "1791:2:1",
"nodeType": "YulIdentifier",
"src": "1791:2:1"
},
"nativeSrc": "1791:14:1",
"nodeType": "YulFunctionCall",
"src": "1791:14:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "1768:2:1",
"nodeType": "YulIdentifier",
"src": "1768:2:1"
},
"nativeSrc": "1768:38:1",
"nodeType": "YulFunctionCall",
"src": "1768:38:1"
},
"nativeSrc": "1765:84:1",
"nodeType": "YulIf",
"src": "1765:84:1"
}
]
},
"name": "extract_byte_array_length",
"nativeSrc": "1535:320:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "data",
"nativeSrc": "1570:4:1",
"nodeType": "YulTypedName",
"src": "1570:4:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "1579:6:1",
"nodeType": "YulTypedName",
"src": "1579:6:1",
"type": ""
}
],
"src": "1535:320:1"
}
]
},
"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 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}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063b627cf3b1461002d575b5f80fd5b61003561004b565b6040516100429190610160565b60405180910390f35b5f8054610057906101ad565b80601f0160208091040260200160405190810160405280929190818152602001828054610083906101ad565b80156100ce5780601f106100a5576101008083540402835291602001916100ce565b820191905f5260205f20905b8154815290600101906020018083116100b157829003601f168201915b505050505081565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561010d5780820151818401526020810190506100f2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610132826100d6565b61013c81856100e0565b935061014c8185602086016100f0565b61015581610118565b840191505092915050565b5f6020820190508181035f8301526101788184610128565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806101c457607f821691505b6020821081036101d7576101d6610180565b5b5091905056fea2646970667358221220634b43f74d3d97352ad3970b678f11a3bccb4a5288f2ad036a7efb4b8472cf8264736f6c63430008160033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x29 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB627CF3B EQ PUSH2 0x2D JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x35 PUSH2 0x4B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x42 SWAP2 SWAP1 PUSH2 0x160 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH0 DUP1 SLOAD PUSH2 0x57 SWAP1 PUSH2 0x1AD 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 0x83 SWAP1 PUSH2 0x1AD JUMP JUMPDEST DUP1 ISZERO PUSH2 0xCE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xA5 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xCE JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xB1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x10D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xF2 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x132 DUP3 PUSH2 0xD6 JUMP JUMPDEST PUSH2 0x13C DUP2 DUP6 PUSH2 0xE0 JUMP JUMPDEST SWAP4 POP PUSH2 0x14C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xF0 JUMP JUMPDEST PUSH2 0x155 DUP2 PUSH2 0x118 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x178 DUP2 DUP5 PUSH2 0x128 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1C4 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1D7 JUMPI PUSH2 0x1D6 PUSH2 0x180 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH4 0x4B43F74D RETURNDATASIZE SWAP8 CALLDATALOAD 0x2A 0xD3 SWAP8 SIGNEXTEND PUSH8 0x8F11A3BCCB4A5288 CALLCODE 0xAD SUB PUSH11 0x7EFB4B8472CF8264736F6C PUSH4 0x43000816 STOP CALLER ",
"sourceMap": "63:64:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;85:38;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:99:1:-;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;1349:180::-;1397:77;1394:1;1387:88;1494:4;1491:1;1484:15;1518:4;1515:1;1508:15;1535:320;1579:6;1616:1;1610:4;1606:12;1596:22;;1663:1;1657:4;1653:12;1684:18;1674:81;;1740:4;1732:6;1728:17;1718:27;;1674:81;1802:2;1794:6;1791:14;1771:18;1768:38;1765:84;;1821:18;;:::i;:::-;1765:84;1586:269;1535:320;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "106200",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"welcome()": "infinite"
}
},
"methodIdentifiers": {
"welcome()": "b627cf3b"
}
},
"abi": [
{
"inputs": [],
"name": "welcome",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.22+commit.4fc1097e"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [],
"name": "welcome",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"scripts/hello.sol": "Hello"
},
"evmVersion": "shanghai",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"scripts/hello.sol": {
"keccak256": "0xf930e7ada5a83ef377c5643eaa19cc4c4a0305ed4da21c2a635fea6ceedbc6de",
"license": "MIT",
"urls": [
"bzz-raw://856de67ed5194507e4db5552442419c7746b760e56678e430e55b14989b3f619",
"dweb:/ipfs/QmdxezZ68434zzT5SbCFNVDUdQXxkbhyRUZeNLPiYHLHE3"
]
}
},
"version": 1
}
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

This file has been truncated, but you can view the full file.
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_62": {
"entryPoint": null,
"id": 62,
"parameterSlots": 0,
"returnSlots": 0
}
},
"generatedSources": [],
"linkReferences": {},
"object": "60806040526101185f806101000a81548161ffff021916908361ffff16021790555034801561002c575f80fd5b503360025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611ada8061007a5f395ff3fe608060405234801561000f575f80fd5b506004361061009c575f3560e01c80636eb10797116100645780636eb10797146101585780637c9cd2bc14610176578063820785cc146101925780638da5cb5b146101c2578063c3ad5ecb146101e05761009c565b806305a1b4a9146100a057806312e7ee1c146100d45780633d9b569f1461010457806358bfa4ab14610120578063633782161461013c575b5f80fd5b6100ba60048036038101906100b59190610ea9565b610210565b6040516100cb959493929190610f8f565b60405180910390f35b6100ee60048036038101906100e99190610fe7565b610301565b6040516100fb91906111a6565b60405180910390f35b61011e60048036038101906101199190610ea9565b61049c565b005b61013a600480360381019061013591906111fd565b6106ed565b005b61015660048036038101906101519190610ea9565b61079a565b005b61016061094b565b60405161016d9190611237565b60405180910390f35b610190600480360381019061018b919061137c565b61095c565b005b6101ac60048036038101906101a79190610fe7565b610b5f565b6040516101b991906113c3565b60405180910390f35b6101ca610c2e565b6040516101d791906113dc565b60405180910390f35b6101fa60048036038101906101f591906113f5565b610c53565b6040516102079190611493565b60405180910390f35b6001602052815f5260405f208181548110610229575f80fd5b905f5260205f2090600502015f9150915050805f015490806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806002018054610274906114e0565b80601f01602080910402602001604051908101604052809291908181526020018280546102a0906114e0565b80156102eb5780601f106102c2576101008083540402835291602001916102eb565b820191905f5260205f20905b8154815290600101906020018083116102ce57829003601f168201915b5050505050908060030154908060040154905085565b606060015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480602002602001604051908101604052809291908181526020015f905b82821015610491578382905f5260205f2090600502016040518060a00160405290815f8201548152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820180546103ee906114e0565b80601f016020809104026020016040519081016040528092919081815260200182805461041a906114e0565b80156104655780601f1061043c57610100808354040283529160200191610465565b820191905f5260205f20905b81548152906001019060200180831161044857829003601f168201915b50505050508152602001600382015481526020016004820154815250508152602001906001019061035f565b505050509050919050565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2082815481106104ec576104eb611510565b5b905f5260205f2090600502015f01541461053b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053290611587565b60405180910390fd5b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20828154811061058b5761058a611510565b5b905f5260205f20906005020160040154116105db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d2906115ef565b60405180910390fd5b60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818154811061062a57610629611510565b5b905f5260205f2090600502016004015f8154809291906106499061163a565b91905055507f762c2616349603ac16eba0de8e6141b79129a07ab63bd99e0a80b3a47171694333838360015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2085815481106106c1576106c0611510565b5b905f5260205f209060050201600401546040516106e19493929190611661565b60405180910390a15050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461077c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610773906116ee565b60405180910390fd5b805f806101000a81548161ffff021916908361ffff16021790555050565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2082815481106107ea576107e9611510565b5b905f5260205f2090600502015f015414610839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083090611587565b60405180910390fd5b60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20818154811061088857610887611510565b5b905f5260205f2090600502016004015f8154809291906108a79061170c565b91905055507fe8a76fc0f16d11a00d1e93b689b63d76cf60af914dd3d915375dc41d01a0c3c833838360015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20858154811061091f5761091e611510565b5b905f5260205f2090600502016004015460405161093f9493929190611661565b60405180910390a15050565b5f8054906101000a900461ffff1681565b5f8054906101000a900461ffff1661ffff16815111156109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a89061179d565b60405180910390fd5b5f6040518060a0016040528060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905081526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018381526020014281526020015f815250905060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002019081610af89190611958565b50606082015181600301556080820151816004015550507f16fd3c13e9d46923e0a8bce11c7b473ec508a72e6c96cd2404b29ce972afc29e815f0151826020015183604001518460600151604051610b539493929190611a27565b60405180910390a15050565b5f805f5b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050811015610c245760015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208181548110610bfa57610bf9611510565b5b905f5260205f2090600502016004015482610c159190611a71565b91508080600101915050610b63565b5080915050919050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c5b610dca565b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208281548110610caa57610ca9611510565b5b905f5260205f2090600502016040518060a00160405290815f8201548152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282018054610d2f906114e0565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5b906114e0565b8015610da65780601f10610d7d57610100808354040283529160200191610da6565b820191905f5260205f20905b815481529060010190602001808311610d8957829003601f168201915b50505050508152602001600382015481526020016004820154815250509050919050565b6040518060a001604052805f81526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f81526020015f81525090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e4582610e1c565b9050919050565b610e5581610e3b565b8114610e5f575f80fd5b50565b5f81359050610e7081610e4c565b92915050565b5f819050919050565b610e8881610e76565b8114610e92575f80fd5b50565b5f81359050610ea381610e7f565b92915050565b5f8060408385031215610ebf57610ebe610e14565b5b5f610ecc85828601610e62565b9250506020610edd85828601610e95565b9150509250929050565b610ef081610e76565b82525050565b610eff81610e3b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610f3c578082015181840152602081019050610f21565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610f6182610f05565b610f6b8185610f0f565b9350610f7b818560208601610f1f565b610f8481610f47565b840191505092915050565b5f60a082019050610fa25f830188610ee7565b610faf6020830187610ef6565b8181036040830152610fc18186610f57565b9050610fd06060830185610ee7565b610fdd6080830184610ee7565b9695505050505050565b5f60208284031215610ffc57610ffb610e14565b5b5f61100984828501610e62565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61104481610e76565b82525050565b61105381610e3b565b82525050565b5f82825260208201905092915050565b5f61107382610f05565b61107d8185611059565b935061108d818560208601610f1f565b61109681610f47565b840191505092915050565b5f60a083015f8301516110b65f86018261103b565b5060208301516110c9602086018261104a565b50604083015184820360408601526110e18282611069565b91505060608301516110f6606086018261103b565b506080830151611109608086018261103b565b508091505092915050565b5f61111f83836110a1565b905092915050565b5f602082019050919050565b5f61113d82611012565b611147818561101c565b9350836020820285016111598561102c565b805f5b8581101561119457848403895281516111758582611114565b945061118083611127565b925060208a0199505060018101905061115c565b50829750879550505050505092915050565b5f6020820190508181035f8301526111be8184611133565b905092915050565b5f61ffff82169050919050565b6111dc816111c6565b81146111e6575f80fd5b50565b5f813590506111f7816111d3565b92915050565b5f6020828403121561121257611211610e14565b5b5f61121f848285016111e9565b91505092915050565b611231816111c6565b82525050565b5f60208201905061124a5f830184611228565b92915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61128e82610f47565b810181811067ffffffffffffffff821117156112ad576112ac611258565b5b80604052505050565b5f6112bf610e0b565b90506112cb8282611285565b919050565b5f67ffffffffffffffff8211156112ea576112e9611258565b5b6112f382610f47565b9050602081019050919050565b828183375f83830152505050565b5f61132061131b846112d0565b6112b6565b90508281526020810184848401111561133c5761133b611254565b5b611347848285611300565b509392505050565b5f82601f83011261136357611362611250565b5b813561137384826020860161130e565b91505092915050565b5f6020828403121561139157611390610e14565b5b5f82013567ffffffffffffffff8111156113ae576113ad610e18565b5b6113ba8482850161134f565b91505092915050565b5f6020820190506113d65f830184610ee7565b92915050565b5f6020820190506113ef5f830184610ef6565b92915050565b5f6020828403121561140a57611409610e14565b5b5f61141784828501610e95565b91505092915050565b5f60a083015f8301516114355f86018261103b565b506020830151611448602086018261104a565b50604083015184820360408601526114608282611069565b9150506060830151611475606086018261103b565b506080830151611488608086018261103b565b508091505092915050565b5f6020820190508181035f8301526114ab8184611420565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806114f757607f821691505b60208210810361150a576115096114b3565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f545745455420444f4553204e4f542045584953540000000000000000000000005f82015250565b5f611571601483610f0f565b915061157c8261153d565b602082019050919050565b5f6020820190508181035f83015261159e81611565565b9050919050565b7f545745455420484153204e4f204c494b455300000000000000000000000000005f82015250565b5f6115d9601283610f0f565b91506115e4826115a5565b602082019050919050565b5f6020820190508181035f830152611606816115cd565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61164482610e76565b91505f82036116565761165561160d565b5b600182039050919050565b5f6080820190506116745f830187610ef6565b6116816020830186610ef6565b61168e6040830185610ee7565b61169b6060830184610ee7565b95945050505050565b7f594f5520415245204e4f5420544845204f574e455221000000000000000000005f82015250565b5f6116d8601683610f0f565b91506116e3826116a4565b602082019050919050565b5f6020820190508181035f830152611705816116cc565b9050919050565b5f61171682610e76565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117485761174761160d565b5b600182019050919050565b7f547765657420697320746f6f206c6f6e672062726f21000000000000000000005f82015250565b5f611787601683610f0f565b915061179282611753565b602082019050919050565b5f6020820190508181035f8301526117b48161177b565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026118177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826117dc565b61182186836117dc565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61185c61185761185284610e76565b611839565b610e76565b9050919050565b5f819050919050565b61187583611842565b61188961188182611863565b8484546117e8565b825550505050565b5f90565b61189d611891565b6118a881848461186c565b505050565b5b818110156118cb576118c05f82611895565b6001810190506118ae565b5050565b601f821115611910576118e1816117bb565b6118ea846117cd565b810160208510156118f9578190505b61190d611905856117cd565b8301826118ad565b50505b505050565b5f82821c905092915050565b5f6119305f1984600802611915565b1980831691505092915050565b5f6119488383611921565b9150826002028217905092915050565b61196182610f05565b67ffffffffffffffff81111561197a57611979611258565b5b61198482546114e0565b61198f8282856118cf565b5f60209050601f8311600181146119c0575f84156119ae578287015190505b6119b8858261193d565b865550611a1f565b601f1984166119ce866117bb565b5f5b828110156119f5578489015182556001820191506020850194506020810190506119d0565b86831015611a125784890151611a0e601f891682611921565b8355505b6001600288020188555050505b505050505050565b5f608082019050611a3a5f830187610ee7565b611a476020830186610ef6565b8181036040830152611a598185610f57565b9050611a686060830184610ee7565b95945050505050565b5f611a7b82610e76565b9150611a8683610e76565b9250828201905080821115611a9e57611a9d61160d565b5b9291505056fea2646970667358221220d1b5822d9ca422e4174361c8640f9f8d36284e593436e1d7d798c91a716dd89e64736f6c63430008160033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH2 0x118 PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH2 0xFFFF MUL NOT AND SWAP1 DUP4 PUSH2 0xFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH2 0x2C JUMPI PUSH0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x2 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x1ADA DUP1 PUSH2 0x7A PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9C JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6EB10797 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x6EB10797 EQ PUSH2 0x158 JUMPI DUP1 PUSH4 0x7C9CD2BC EQ PUSH2 0x176 JUMPI DUP1 PUSH4 0x820785CC EQ PUSH2 0x192 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C2 JUMPI DUP1 PUSH4 0xC3AD5ECB EQ PUSH2 0x1E0 JUMPI PUSH2 0x9C JUMP JUMPDEST DUP1 PUSH4 0x5A1B4A9 EQ PUSH2 0xA0 JUMPI DUP1 PUSH4 0x12E7EE1C EQ PUSH2 0xD4 JUMPI DUP1 PUSH4 0x3D9B569F EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0x58BFA4AB EQ PUSH2 0x120 JUMPI DUP1 PUSH4 0x63378216 EQ PUSH2 0x13C JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xBA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB5 SWAP2 SWAP1 PUSH2 0xEA9 JUMP JUMPDEST PUSH2 0x210 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCB SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xF8F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE9 SWAP2 SWAP1 PUSH2 0xFE7 JUMP JUMPDEST PUSH2 0x301 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFB SWAP2 SWAP1 PUSH2 0x11A6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x119 SWAP2 SWAP1 PUSH2 0xEA9 JUMP JUMPDEST PUSH2 0x49C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x13A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x135 SWAP2 SWAP1 PUSH2 0x11FD JUMP JUMPDEST PUSH2 0x6ED JUMP JUMPDEST STOP JUMPDEST PUSH2 0x156 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x151 SWAP2 SWAP1 PUSH2 0xEA9 JUMP JUMPDEST PUSH2 0x79A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x160 PUSH2 0x94B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16D SWAP2 SWAP1 PUSH2 0x1237 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x190 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18B SWAP2 SWAP1 PUSH2 0x137C JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1AC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1A7 SWAP2 SWAP1 PUSH2 0xFE7 JUMP JUMPDEST PUSH2 0xB5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B9 SWAP2 SWAP1 PUSH2 0x13C3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CA PUSH2 0xC2E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1D7 SWAP2 SWAP1 PUSH2 0x13DC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0x13F5 JUMP JUMPDEST PUSH2 0xC53 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x207 SWAP2 SWAP1 PUSH2 0x1493 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH0 MSTORE PUSH1 0x40 PUSH0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x229 JUMPI PUSH0 DUP1 REVERT JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH0 SWAP2 POP SWAP2 POP POP DUP1 PUSH0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x274 SWAP1 PUSH2 0x14E0 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 0x2A0 SWAP1 PUSH2 0x14E0 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2EB JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2C2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2EB JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2CE JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD SLOAD SWAP1 POP DUP6 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 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 PUSH0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x491 JUMPI DUP4 DUP3 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x3EE SWAP1 PUSH2 0x14E0 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 0x41A SWAP1 PUSH2 0x14E0 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x465 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x43C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x465 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x448 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x35F JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x4EC JUMPI PUSH2 0x4EB PUSH2 0x1510 JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH0 ADD SLOAD EQ PUSH2 0x53B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x532 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0x1 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x58B JUMPI PUSH2 0x58A PUSH2 0x1510 JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD SLOAD GT PUSH2 0x5DB JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5D2 SWAP1 PUSH2 0x15EF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x62A JUMPI PUSH2 0x629 PUSH2 0x1510 JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD PUSH0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x649 SWAP1 PUSH2 0x163A JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH32 0x762C2616349603AC16EBA0DE8E6141B79129A07AB63BD99E0A80B3A471716943 CALLER DUP4 DUP4 PUSH1 0x1 PUSH0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x6C1 JUMPI PUSH2 0x6C0 PUSH2 0x1510 JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD SLOAD PUSH1 0x40 MLOAD PUSH2 0x6E1 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1661 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x2 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x77C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x773 SWAP1 PUSH2 0x16EE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH2 0xFFFF MUL NOT AND SWAP1 DUP4 PUSH2 0xFFFF AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x7EA JUMPI PUSH2 0x7E9 PUSH2 0x1510 JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH0 ADD SLOAD EQ PUSH2 0x839 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x830 SWAP1 PUSH2 0x1587 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x888 JUMPI PUSH2 0x887 PUSH2 0x1510 JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD PUSH0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x8A7 SWAP1 PUSH2 0x170C JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH32 0xE8A76FC0F16D11A00D1E93B689B63D76CF60AF914DD3D915375DC41D01A0C3C8 CALLER DUP4 DUP4 PUSH1 0x1 PUSH0 DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP6 DUP2 SLOAD DUP2 LT PUSH2 0x91F JUMPI PUSH2 0x91E PUSH2 0x1510 JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD SLOAD PUSH1 0x40 MLOAD PUSH2 0x93F SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1661 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH2 0xFFFF AND DUP2 JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH2 0xFFFF AND PUSH2 0xFFFF AND DUP2 MLOAD GT ISZERO PUSH2 0x9B1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9A8 SWAP1 PUSH2 0x179D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH0 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP1 SLOAD SWAP1 POP DUP2 MSTORE PUSH1 0x20 ADD CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE PUSH1 0x20 ADD PUSH0 DUP2 MSTORE POP SWAP1 POP PUSH1 0x1 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH0 DUP3 ADD MLOAD DUP2 PUSH0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP2 PUSH2 0xAF8 SWAP2 SWAP1 PUSH2 0x1958 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x4 ADD SSTORE POP POP PUSH32 0x16FD3C13E9D46923E0A8BCE11C7B473EC508A72E6C96CD2404B29CE972AFC29E DUP2 PUSH0 ADD MLOAD DUP3 PUSH1 0x20 ADD MLOAD DUP4 PUSH1 0x40 ADD MLOAD DUP5 PUSH1 0x60 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xB53 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1A27 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH0 JUMPDEST PUSH1 0x1 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0xC24 JUMPI PUSH1 0x1 PUSH0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xBFA JUMPI PUSH2 0xBF9 PUSH2 0x1510 JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x4 ADD SLOAD DUP3 PUSH2 0xC15 SWAP2 SWAP1 PUSH2 0x1A71 JUMP JUMPDEST SWAP2 POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0xB63 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x2 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0xC5B PUSH2 0xDCA JUMP JUMPDEST PUSH1 0x1 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0xCAA JUMPI PUSH2 0xCA9 PUSH2 0x1510 JUMP JUMPDEST JUMPDEST SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 PUSH1 0x5 MUL ADD PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0xD2F SWAP1 PUSH2 0x14E0 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 0xD5B SWAP1 PUSH2 0x14E0 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xDA6 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xD7D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xDA6 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xD89 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD SLOAD DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH0 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xE45 DUP3 PUSH2 0xE1C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE55 DUP2 PUSH2 0xE3B JUMP JUMPDEST DUP2 EQ PUSH2 0xE5F JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xE70 DUP2 PUSH2 0xE4C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xE88 DUP2 PUSH2 0xE76 JUMP JUMPDEST DUP2 EQ PUSH2 0xE92 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xEA3 DUP2 PUSH2 0xE7F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xEBF JUMPI PUSH2 0xEBE PUSH2 0xE14 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xECC DUP6 DUP3 DUP7 ADD PUSH2 0xE62 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xEDD DUP6 DUP3 DUP7 ADD PUSH2 0xE95 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xEF0 DUP2 PUSH2 0xE76 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xEFF DUP2 PUSH2 0xE3B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF3C JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xF21 JUMP JUMPDEST PUSH0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xF61 DUP3 PUSH2 0xF05 JUMP JUMPDEST PUSH2 0xF6B DUP2 DUP6 PUSH2 0xF0F JUMP JUMPDEST SWAP4 POP PUSH2 0xF7B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xF1F JUMP JUMPDEST PUSH2 0xF84 DUP2 PUSH2 0xF47 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0xFA2 PUSH0 DUP4 ADD DUP9 PUSH2 0xEE7 JUMP JUMPDEST PUSH2 0xFAF PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0xEF6 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0xFC1 DUP2 DUP7 PUSH2 0xF57 JUMP JUMPDEST SWAP1 POP PUSH2 0xFD0 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0xEE7 JUMP JUMPDEST PUSH2 0xFDD PUSH1 0x80 DUP4 ADD DUP5 PUSH2 0xEE7 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFFC JUMPI PUSH2 0xFFB PUSH2 0xE14 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1009 DUP5 DUP3 DUP6 ADD PUSH2 0xE62 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1044 DUP2 PUSH2 0xE76 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x1053 DUP2 PUSH2 0xE3B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1073 DUP3 PUSH2 0xF05 JUMP JUMPDEST PUSH2 0x107D DUP2 DUP6 PUSH2 0x1059 JUMP JUMPDEST SWAP4 POP PUSH2 0x108D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xF1F JUMP JUMPDEST PUSH2 0x1096 DUP2 PUSH2 0xF47 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP4 ADD PUSH0 DUP4 ADD MLOAD PUSH2 0x10B6 PUSH0 DUP7 ADD DUP3 PUSH2 0x103B JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x10C9 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x104A JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x10E1 DUP3 DUP3 PUSH2 0x1069 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x10F6 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x103B JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x1109 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x103B JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x111F DUP4 DUP4 PUSH2 0x10A1 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x113D DUP3 PUSH2 0x1012 JUMP JUMPDEST PUSH2 0x1147 DUP2 DUP6 PUSH2 0x101C JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x1159 DUP6 PUSH2 0x102C JUMP JUMPDEST DUP1 PUSH0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x1194 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x1175 DUP6 DUP3 PUSH2 0x1114 JUMP JUMPDEST SWAP5 POP PUSH2 0x1180 DUP4 PUSH2 0x1127 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x115C JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x11BE DUP2 DUP5 PUSH2 0x1133 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0xFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11DC DUP2 PUSH2 0x11C6 JUMP JUMPDEST DUP2 EQ PUSH2 0x11E6 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x11F7 DUP2 PUSH2 0x11D3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1212 JUMPI PUSH2 0x1211 PUSH2 0xE14 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x121F DUP5 DUP3 DUP6 ADD PUSH2 0x11E9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1231 DUP2 PUSH2 0x11C6 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x124A PUSH0 DUP4 ADD DUP5 PUSH2 0x1228 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH2 0x128E DUP3 PUSH2 0xF47 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x12AD JUMPI PUSH2 0x12AC PUSH2 0x1258 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x12BF PUSH2 0xE0B JUMP JUMPDEST SWAP1 POP PUSH2 0x12CB DUP3 DUP3 PUSH2 0x1285 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x12EA JUMPI PUSH2 0x12E9 PUSH2 0x1258 JUMP JUMPDEST JUMPDEST PUSH2 0x12F3 DUP3 PUSH2 0xF47 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1320 PUSH2 0x131B DUP5 PUSH2 0x12D0 JUMP JUMPDEST PUSH2 0x12B6 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x133C JUMPI PUSH2 0x133B PUSH2 0x1254 JUMP JUMPDEST JUMPDEST PUSH2 0x1347 DUP5 DUP3 DUP6 PUSH2 0x1300 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1363 JUMPI PUSH2 0x1362 PUSH2 0x1250 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1373 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x130E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1391 JUMPI PUSH2 0x1390 PUSH2 0xE14 JUMP JUMPDEST JUMPDEST PUSH0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x13AE JUMPI PUSH2 0x13AD PUSH2 0xE18 JUMP JUMPDEST JUMPDEST PUSH2 0x13BA DUP5 DUP3 DUP6 ADD PUSH2 0x134F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13D6 PUSH0 DUP4 ADD DUP5 PUSH2 0xEE7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x13EF PUSH0 DUP4 ADD DUP5 PUSH2 0xEF6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x140A JUMPI PUSH2 0x1409 PUSH2 0xE14 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1417 DUP5 DUP3 DUP6 ADD PUSH2 0xE95 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0xA0 DUP4 ADD PUSH0 DUP4 ADD MLOAD PUSH2 0x1435 PUSH0 DUP7 ADD DUP3 PUSH2 0x103B JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x1448 PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x104A JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x1460 DUP3 DUP3 PUSH2 0x1069 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x1475 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x103B JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x1488 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x103B JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x14AB DUP2 DUP5 PUSH2 0x1420 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x14F7 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x150A JUMPI PUSH2 0x1509 PUSH2 0x14B3 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH32 0x545745455420444F4553204E4F54204558495354000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1571 PUSH1 0x14 DUP4 PUSH2 0xF0F JUMP JUMPDEST SWAP2 POP PUSH2 0x157C DUP3 PUSH2 0x153D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x159E DUP2 PUSH2 0x1565 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x545745455420484153204E4F204C494B45530000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x15D9 PUSH1 0x12 DUP4 PUSH2 0xF0F JUMP JUMPDEST SWAP2 POP PUSH2 0x15E4 DUP3 PUSH2 0x15A5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1606 DUP2 PUSH2 0x15CD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x1644 DUP3 PUSH2 0xE76 JUMP JUMPDEST SWAP2 POP PUSH0 DUP3 SUB PUSH2 0x1656 JUMPI PUSH2 0x1655 PUSH2 0x160D JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1674 PUSH0 DUP4 ADD DUP8 PUSH2 0xEF6 JUMP JUMPDEST PUSH2 0x1681 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xEF6 JUMP JUMPDEST PUSH2 0x168E PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xEE7 JUMP JUMPDEST PUSH2 0x169B PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xEE7 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x594F5520415245204E4F5420544845204F574E45522100000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x16D8 PUSH1 0x16 DUP4 PUSH2 0xF0F JUMP JUMPDEST SWAP2 POP PUSH2 0x16E3 DUP3 PUSH2 0x16A4 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x1705 DUP2 PUSH2 0x16CC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x1716 DUP3 PUSH2 0xE76 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 SUB PUSH2 0x1748 JUMPI PUSH2 0x1747 PUSH2 0x160D JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x547765657420697320746F6F206C6F6E672062726F2100000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x1787 PUSH1 0x16 DUP4 PUSH2 0xF0F JUMP JUMPDEST SWAP2 POP PUSH2 0x1792 DUP3 PUSH2 0x1753 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x17B4 DUP2 PUSH2 0x177B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP DUP2 PUSH0 MSTORE PUSH1 0x20 PUSH0 KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 PUSH1 0x1F DUP4 ADD DIV SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x8 DUP4 MUL PUSH2 0x1817 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 PUSH2 0x17DC JUMP JUMPDEST PUSH2 0x1821 DUP7 DUP4 PUSH2 0x17DC 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 PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x185C PUSH2 0x1857 PUSH2 0x1852 DUP5 PUSH2 0xE76 JUMP JUMPDEST PUSH2 0x1839 JUMP JUMPDEST PUSH2 0xE76 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1875 DUP4 PUSH2 0x1842 JUMP JUMPDEST PUSH2 0x1889 PUSH2 0x1881 DUP3 PUSH2 0x1863 JUMP JUMPDEST DUP5 DUP5 SLOAD PUSH2 0x17E8 JUMP JUMPDEST DUP3 SSTORE POP POP POP POP JUMP JUMPDEST PUSH0 SWAP1 JUMP JUMPDEST PUSH2 0x189D PUSH2 0x1891 JUMP JUMPDEST PUSH2 0x18A8 DUP2 DUP5 DUP5 PUSH2 0x186C JUMP JUMPDEST POP POP POP JUMP JUMPDEST JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x18CB JUMPI PUSH2 0x18C0 PUSH0 DUP3 PUSH2 0x1895 JUMP JUMPDEST PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x18AE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x1910 JUMPI PUSH2 0x18E1 DUP2 PUSH2 0x17BB JUMP JUMPDEST PUSH2 0x18EA DUP5 PUSH2 0x17CD JUMP JUMPDEST DUP2 ADD PUSH1 0x20 DUP6 LT ISZERO PUSH2 0x18F9 JUMPI DUP2 SWAP1 POP JUMPDEST PUSH2 0x190D PUSH2 0x1905 DUP6 PUSH2 0x17CD JUMP JUMPDEST DUP4 ADD DUP3 PUSH2 0x18AD JUMP JUMPDEST POP POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH0 DUP3 DUP3 SHR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1930 PUSH0 NOT DUP5 PUSH1 0x8 MUL PUSH2 0x1915 JUMP JUMPDEST NOT DUP1 DUP4 AND SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1948 DUP4 DUP4 PUSH2 0x1921 JUMP JUMPDEST SWAP2 POP DUP3 PUSH1 0x2 MUL DUP3 OR SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1961 DUP3 PUSH2 0xF05 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x197A JUMPI PUSH2 0x1979 PUSH2 0x1258 JUMP JUMPDEST JUMPDEST PUSH2 0x1984 DUP3 SLOAD PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x198F DUP3 DUP3 DUP6 PUSH2 0x18CF JUMP JUMPDEST PUSH0 PUSH1 0x20 SWAP1 POP PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x19C0 JUMPI PUSH0 DUP5 ISZERO PUSH2 0x19AE JUMPI DUP3 DUP8 ADD MLOAD SWAP1 POP JUMPDEST PUSH2 0x19B8 DUP6 DUP3 PUSH2 0x193D JUMP JUMPDEST DUP7 SSTORE POP PUSH2 0x1A1F JUMP JUMPDEST PUSH1 0x1F NOT DUP5 AND PUSH2 0x19CE DUP7 PUSH2 0x17BB JUMP JUMPDEST PUSH0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x19F5 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 0x19D0 JUMP JUMPDEST DUP7 DUP4 LT ISZERO PUSH2 0x1A12 JUMPI DUP5 DUP10 ADD MLOAD PUSH2 0x1A0E PUSH1 0x1F DUP10 AND DUP3 PUSH2 0x1921 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 PUSH0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1A3A PUSH0 DUP4 ADD DUP8 PUSH2 0xEE7 JUMP JUMPDEST PUSH2 0x1A47 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0xEF6 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x1A59 DUP2 DUP6 PUSH2 0xF57 JUMP JUMPDEST SWAP1 POP PUSH2 0x1A68 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0xEE7 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1A7B DUP3 PUSH2 0xE76 JUMP JUMPDEST SWAP2 POP PUSH2 0x1A86 DUP4 PUSH2 0xE76 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x1A9E JUMPI PUSH2 0x1A9D PUSH2 0x160D JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD1 0xB5 DUP3 0x2D SWAP13 LOG4 0x22 0xE4 OR NUMBER PUSH2 0xC864 0xF SWAP16 DUP14 CALLDATASIZE 0x28 0x4E MSIZE CALLVALUE CALLDATASIZE 0xE1 0xD7 0xD7 SWAP9 0xC9 BYTE PUSH18 0x6DD89E64736F6C6343000816003300000000 ",
"sourceMap": "290:2626:0:-:0;;;349:3;316:36;;;;;;;;;;;;;;;;;;;;905:51;;;;;;;;;;938:10;930:5;;:18;;;;;;;;;;;;;;;;;;290:2626;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@MAX_TWEET_LENGTH_4": {
"entryPoint": 2379,
"id": 4,
"parameterSlots": 0,
"returnSlots": 0
},
"@changeTweetLength_86": {
"entryPoint": 1773,
"id": 86,
"parameterSlots": 1,
"returnSlots": 0
},
"@createTweet_176": {
"entryPoint": 2396,
"id": 176,
"parameterSlots": 1,
"returnSlots": 0
},
"@getAllTweets_300": {
"entryPoint": 769,
"id": 300,
"parameterSlots": 1,
"returnSlots": 1
},
"@getTotalLikes_123": {
"entryPoint": 2911,
"id": 123,
"parameterSlots": 1,
"returnSlots": 1
},
"@getTweet_286": {
"entryPoint": 3155,
"id": 286,
"parameterSlots": 1,
"returnSlots": 1
},
"@likeTweet_217": {
"entryPoint": 1946,
"id": 217,
"parameterSlots": 2,
"returnSlots": 0
},
"@owner_23": {
"entryPoint": 3118,
"id": 23,
"parameterSlots": 0,
"returnSlots": 0
},
"@tweets_21": {
"entryPoint": 528,
"id": 21,
"parameterSlots": 0,
"returnSlots": 0
},
"@unlikeTweet_270": {
"entryPoint": 1180,
"id": 270,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_available_length_t_string_memory_ptr": {
"entryPoint": 4878,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_decode_t_address": {
"entryPoint": 3682,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_string_memory_ptr": {
"entryPoint": 4943,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint16": {
"entryPoint": 4585,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 3733,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 4071,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 3753,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_string_memory_ptr": {
"entryPoint": 4988,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint16": {
"entryPoint": 4605,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 5109,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encodeUpdatedPos_t_struct$_Tweet_$15_memory_ptr_to_t_struct$_Tweet_$15_memory_ptr": {
"entryPoint": 4372,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address": {
"entryPoint": 4170,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 3830,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr_fromStack": {
"entryPoint": 4403,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr": {
"entryPoint": 4201,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack": {
"entryPoint": 3927,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_stringliteral_143bc1345389812972d97b917c5aced9951bccdf5ae2e0082eed5e329cd6753d_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5581,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_55ef64485b5cc47b0d2a72539e8185a76698fdfce757e523a894271e8254981c_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5477,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_894a3a19edc7d4446264d7a01d26e6458e51e8e29bdd7801168236e8728651a9_to_t_string_memory_ptr_fromStack": {
"entryPoint": 6011,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_eeb87143b2869060585beed6286bfbfc8d5a202727cfb95178ebc2f346948fbe_to_t_string_memory_ptr_fromStack": {
"entryPoint": 5836,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_struct$_Tweet_$15_memory_ptr_to_t_struct$_Tweet_$15_memory_ptr": {
"entryPoint": 4257,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_struct$_Tweet_$15_memory_ptr_to_t_struct$_Tweet_$15_memory_ptr_fromStack": {
"entryPoint": 5152,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint16_to_t_uint16_fromStack": {
"entryPoint": 4648,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256": {
"entryPoint": 4155,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 3815,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 5084,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_address_t_uint256_t_uint256__to_t_address_t_address_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 5729,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr__fromStack_reversed": {
"entryPoint": 4518,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_143bc1345389812972d97b917c5aced9951bccdf5ae2e0082eed5e329cd6753d__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5615,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_55ef64485b5cc47b0d2a72539e8185a76698fdfce757e523a894271e8254981c__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5511,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_894a3a19edc7d4446264d7a01d26e6458e51e8e29bdd7801168236e8728651a9__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 6045,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_eeb87143b2869060585beed6286bfbfc8d5a202727cfb95178ebc2f346948fbe__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 5870,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_struct$_Tweet_$15_memory_ptr__to_t_struct$_Tweet_$15_memory_ptr__fromStack_reversed": {
"entryPoint": 5267,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed": {
"entryPoint": 4663,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 5059,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_address_t_string_memory_ptr_t_uint256__to_t_uint256_t_address_t_string_memory_ptr_t_uint256__fromStack_reversed": {
"entryPoint": 6695,
"id": null,
"parameterSlots": 5,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256_t_address_t_string_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_address_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed": {
"entryPoint": 3983,
"id": null,
"parameterSlots": 6,
"returnSlots": 1
},
"allocate_memory": {
"entryPoint": 4790,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": 3595,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_allocation_size_t_string_memory_ptr": {
"entryPoint": 4816,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 4140,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_dataslot_t_string_storage": {
"entryPoint": 6075,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 4114,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_length_t_string_memory_ptr": {
"entryPoint": 3845,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_nextElement_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr": {
"entryPoint": 4391,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr_fromStack": {
"entryPoint": 4124,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr": {
"entryPoint": 4185,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 3855,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 6769,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"clean_up_bytearray_end_slots_t_string_storage": {
"entryPoint": 6351,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"cleanup_t_address": {
"entryPoint": 3643,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint16": {
"entryPoint": 4550,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 3612,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 3702,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"clear_storage_range_t_bytes1": {
"entryPoint": 6317,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"convert_t_uint256_to_t_uint256": {
"entryPoint": 6210,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": {
"entryPoint": 6488,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"copy_calldata_to_memory_with_cleanup": {
"entryPoint": 4864,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"copy_memory_to_memory_with_cleanup": {
"entryPoint": 3871,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"decrement_t_uint256": {
"entryPoint": 5690,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"divide_by_32_ceil": {
"entryPoint": 6093,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_byte_array_length": {
"entryPoint": 5344,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"extract_used_part_and_set_length_of_short_byte_array": {
"entryPoint": 6461,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"finalize_allocation": {
"entryPoint": 4741,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"identity": {
"entryPoint": 6201,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"increment_t_uint256": {
"entryPoint": 5900,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"mask_bytes_dynamic": {
"entryPoint": 6433,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 5645,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x22": {
"entryPoint": 5299,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x32": {
"entryPoint": 5392,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"panic_error_0x41": {
"entryPoint": 4696,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"prepare_store_t_uint256": {
"entryPoint": 6243,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d": {
"entryPoint": 4688,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae": {
"entryPoint": 4692,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": 3608,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 3604,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"round_up_to_mul_of_32": {
"entryPoint": 3911,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"shift_left_dynamic": {
"entryPoint": 6108,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"shift_right_unsigned_dynamic": {
"entryPoint": 6421,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"storage_set_to_zero_t_uint256": {
"entryPoint": 6293,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"store_literal_in_memory_143bc1345389812972d97b917c5aced9951bccdf5ae2e0082eed5e329cd6753d": {
"entryPoint": 5541,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_55ef64485b5cc47b0d2a72539e8185a76698fdfce757e523a894271e8254981c": {
"entryPoint": 5437,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_894a3a19edc7d4446264d7a01d26e6458e51e8e29bdd7801168236e8728651a9": {
"entryPoint": 5971,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_eeb87143b2869060585beed6286bfbfc8d5a202727cfb95178ebc2f346948fbe": {
"entryPoint": 5796,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"update_byte_slice_dynamic32": {
"entryPoint": 6120,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"update_storage_value_t_uint256_to_t_uint256": {
"entryPoint": 6252,
"id": null,
"parameterSlots": 3,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 3660,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint16": {
"entryPoint": 4563,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 3711,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"zero_value_for_split_t_uint256": {
"entryPoint": 6289,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:25425:1",
"nodeType": "YulBlock",
"src": "0:25425:1",
"statements": [
{
"body": {
"nativeSrc": "47:35:1",
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nativeSrc": "57:19:1",
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "73:2:1",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "67:5:1",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nativeSrc": "67:9:1",
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "57:6:1",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "7:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "40:6:1",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nativeSrc": "177:28:1",
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "194:1:1",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "197:1:1",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "187:6:1",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "88:117:1",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nativeSrc": "300:28:1",
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "317:1:1",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "320:1:1",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "310:6:1",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "211:117:1",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nativeSrc": "379:81:1",
"nodeType": "YulBlock",
"src": "379:81:1",
"statements": [
{
"nativeSrc": "389:65:1",
"nodeType": "YulAssignment",
"src": "389:65:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "404:5:1",
"nodeType": "YulIdentifier",
"src": "404:5:1"
},
{
"kind": "number",
"nativeSrc": "411:42:1",
"nodeType": "YulLiteral",
"src": "411:42:1",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "400:3:1",
"nodeType": "YulIdentifier",
"src": "400:3:1"
},
"nativeSrc": "400:54:1",
"nodeType": "YulFunctionCall",
"src": "400:54:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "389:7:1",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nativeSrc": "334:126:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "361:5:1",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "371:7:1",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:126:1"
},
{
"body": {
"nativeSrc": "511:51:1",
"nodeType": "YulBlock",
"src": "511:51:1",
"statements": [
{
"nativeSrc": "521:35:1",
"nodeType": "YulAssignment",
"src": "521:35:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "550:5:1",
"nodeType": "YulIdentifier",
"src": "550:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nativeSrc": "532:17:1",
"nodeType": "YulIdentifier",
"src": "532:17:1"
},
"nativeSrc": "532:24:1",
"nodeType": "YulFunctionCall",
"src": "532:24:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "521:7:1",
"nodeType": "YulIdentifier",
"src": "521:7:1"
}
]
}
]
},
"name": "cleanup_t_address",
"nativeSrc": "466:96:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "493:5:1",
"nodeType": "YulTypedName",
"src": "493:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "503:7:1",
"nodeType": "YulTypedName",
"src": "503:7:1",
"type": ""
}
],
"src": "466:96:1"
},
{
"body": {
"nativeSrc": "611:79:1",
"nodeType": "YulBlock",
"src": "611:79:1",
"statements": [
{
"body": {
"nativeSrc": "668:16:1",
"nodeType": "YulBlock",
"src": "668:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "677:1:1",
"nodeType": "YulLiteral",
"src": "677:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "680:1:1",
"nodeType": "YulLiteral",
"src": "680:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "670:6:1",
"nodeType": "YulIdentifier",
"src": "670:6:1"
},
"nativeSrc": "670:12:1",
"nodeType": "YulFunctionCall",
"src": "670:12:1"
},
"nativeSrc": "670:12:1",
"nodeType": "YulExpressionStatement",
"src": "670:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "634:5:1",
"nodeType": "YulIdentifier",
"src": "634:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "659:5:1",
"nodeType": "YulIdentifier",
"src": "659:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "641:17:1",
"nodeType": "YulIdentifier",
"src": "641:17:1"
},
"nativeSrc": "641:24:1",
"nodeType": "YulFunctionCall",
"src": "641:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "631:2:1",
"nodeType": "YulIdentifier",
"src": "631:2:1"
},
"nativeSrc": "631:35:1",
"nodeType": "YulFunctionCall",
"src": "631:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "624:6:1",
"nodeType": "YulIdentifier",
"src": "624:6:1"
},
"nativeSrc": "624:43:1",
"nodeType": "YulFunctionCall",
"src": "624:43:1"
},
"nativeSrc": "621:63:1",
"nodeType": "YulIf",
"src": "621:63:1"
}
]
},
"name": "validator_revert_t_address",
"nativeSrc": "568:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "604:5:1",
"nodeType": "YulTypedName",
"src": "604:5:1",
"type": ""
}
],
"src": "568:122:1"
},
{
"body": {
"nativeSrc": "748:87:1",
"nodeType": "YulBlock",
"src": "748:87:1",
"statements": [
{
"nativeSrc": "758:29:1",
"nodeType": "YulAssignment",
"src": "758:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "780:6:1",
"nodeType": "YulIdentifier",
"src": "780:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "767:12:1",
"nodeType": "YulIdentifier",
"src": "767:12:1"
},
"nativeSrc": "767:20:1",
"nodeType": "YulFunctionCall",
"src": "767:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "758:5:1",
"nodeType": "YulIdentifier",
"src": "758:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "823:5:1",
"nodeType": "YulIdentifier",
"src": "823:5:1"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nativeSrc": "796:26:1",
"nodeType": "YulIdentifier",
"src": "796:26:1"
},
"nativeSrc": "796:33:1",
"nodeType": "YulFunctionCall",
"src": "796:33:1"
},
"nativeSrc": "796:33:1",
"nodeType": "YulExpressionStatement",
"src": "796:33:1"
}
]
},
"name": "abi_decode_t_address",
"nativeSrc": "696:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "726:6:1",
"nodeType": "YulTypedName",
"src": "726:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "734:3:1",
"nodeType": "YulTypedName",
"src": "734:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "742:5:1",
"nodeType": "YulTypedName",
"src": "742:5:1",
"type": ""
}
],
"src": "696:139:1"
},
{
"body": {
"nativeSrc": "886:32:1",
"nodeType": "YulBlock",
"src": "886:32:1",
"statements": [
{
"nativeSrc": "896:16:1",
"nodeType": "YulAssignment",
"src": "896:16:1",
"value": {
"name": "value",
"nativeSrc": "907:5:1",
"nodeType": "YulIdentifier",
"src": "907:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "896:7:1",
"nodeType": "YulIdentifier",
"src": "896:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "841:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "868:5:1",
"nodeType": "YulTypedName",
"src": "868:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "878:7:1",
"nodeType": "YulTypedName",
"src": "878:7:1",
"type": ""
}
],
"src": "841:77:1"
},
{
"body": {
"nativeSrc": "967:79:1",
"nodeType": "YulBlock",
"src": "967:79:1",
"statements": [
{
"body": {
"nativeSrc": "1024:16:1",
"nodeType": "YulBlock",
"src": "1024:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1033:1:1",
"nodeType": "YulLiteral",
"src": "1033:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1036:1:1",
"nodeType": "YulLiteral",
"src": "1036:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1026:6:1",
"nodeType": "YulIdentifier",
"src": "1026:6:1"
},
"nativeSrc": "1026:12:1",
"nodeType": "YulFunctionCall",
"src": "1026:12:1"
},
"nativeSrc": "1026:12:1",
"nodeType": "YulExpressionStatement",
"src": "1026:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "990:5:1",
"nodeType": "YulIdentifier",
"src": "990:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1015:5:1",
"nodeType": "YulIdentifier",
"src": "1015:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "997:17:1",
"nodeType": "YulIdentifier",
"src": "997:17:1"
},
"nativeSrc": "997:24:1",
"nodeType": "YulFunctionCall",
"src": "997:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "987:2:1",
"nodeType": "YulIdentifier",
"src": "987:2:1"
},
"nativeSrc": "987:35:1",
"nodeType": "YulFunctionCall",
"src": "987:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "980:6:1",
"nodeType": "YulIdentifier",
"src": "980:6:1"
},
"nativeSrc": "980:43:1",
"nodeType": "YulFunctionCall",
"src": "980:43:1"
},
"nativeSrc": "977:63:1",
"nodeType": "YulIf",
"src": "977:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "924:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "960:5:1",
"nodeType": "YulTypedName",
"src": "960:5:1",
"type": ""
}
],
"src": "924:122:1"
},
{
"body": {
"nativeSrc": "1104:87:1",
"nodeType": "YulBlock",
"src": "1104:87:1",
"statements": [
{
"nativeSrc": "1114:29:1",
"nodeType": "YulAssignment",
"src": "1114:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "1136:6:1",
"nodeType": "YulIdentifier",
"src": "1136:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "1123:12:1",
"nodeType": "YulIdentifier",
"src": "1123:12:1"
},
"nativeSrc": "1123:20:1",
"nodeType": "YulFunctionCall",
"src": "1123:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "1114:5:1",
"nodeType": "YulIdentifier",
"src": "1114:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "1179:5:1",
"nodeType": "YulIdentifier",
"src": "1179:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "1152:26:1",
"nodeType": "YulIdentifier",
"src": "1152:26:1"
},
"nativeSrc": "1152:33:1",
"nodeType": "YulFunctionCall",
"src": "1152:33:1"
},
"nativeSrc": "1152:33:1",
"nodeType": "YulExpressionStatement",
"src": "1152:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "1052:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "1082:6:1",
"nodeType": "YulTypedName",
"src": "1082:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "1090:3:1",
"nodeType": "YulTypedName",
"src": "1090:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "1098:5:1",
"nodeType": "YulTypedName",
"src": "1098:5:1",
"type": ""
}
],
"src": "1052:139:1"
},
{
"body": {
"nativeSrc": "1280:391:1",
"nodeType": "YulBlock",
"src": "1280:391:1",
"statements": [
{
"body": {
"nativeSrc": "1326:83:1",
"nodeType": "YulBlock",
"src": "1326:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1328:77:1",
"nodeType": "YulIdentifier",
"src": "1328:77:1"
},
"nativeSrc": "1328:79:1",
"nodeType": "YulFunctionCall",
"src": "1328:79:1"
},
"nativeSrc": "1328:79:1",
"nodeType": "YulExpressionStatement",
"src": "1328:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "1301:7:1",
"nodeType": "YulIdentifier",
"src": "1301:7:1"
},
{
"name": "headStart",
"nativeSrc": "1310:9:1",
"nodeType": "YulIdentifier",
"src": "1310:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1297:3:1",
"nodeType": "YulIdentifier",
"src": "1297:3:1"
},
"nativeSrc": "1297:23:1",
"nodeType": "YulFunctionCall",
"src": "1297:23:1"
},
{
"kind": "number",
"nativeSrc": "1322:2:1",
"nodeType": "YulLiteral",
"src": "1322:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "1293:3:1",
"nodeType": "YulIdentifier",
"src": "1293:3:1"
},
"nativeSrc": "1293:32:1",
"nodeType": "YulFunctionCall",
"src": "1293:32:1"
},
"nativeSrc": "1290:119:1",
"nodeType": "YulIf",
"src": "1290:119:1"
},
{
"nativeSrc": "1419:117:1",
"nodeType": "YulBlock",
"src": "1419:117:1",
"statements": [
{
"nativeSrc": "1434:15:1",
"nodeType": "YulVariableDeclaration",
"src": "1434:15:1",
"value": {
"kind": "number",
"nativeSrc": "1448:1:1",
"nodeType": "YulLiteral",
"src": "1448:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "1438:6:1",
"nodeType": "YulTypedName",
"src": "1438:6:1",
"type": ""
}
]
},
{
"nativeSrc": "1463:63:1",
"nodeType": "YulAssignment",
"src": "1463:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1498:9:1",
"nodeType": "YulIdentifier",
"src": "1498:9:1"
},
{
"name": "offset",
"nativeSrc": "1509:6:1",
"nodeType": "YulIdentifier",
"src": "1509:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1494:3:1",
"nodeType": "YulIdentifier",
"src": "1494:3:1"
},
"nativeSrc": "1494:22:1",
"nodeType": "YulFunctionCall",
"src": "1494:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "1518:7:1",
"nodeType": "YulIdentifier",
"src": "1518:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "1473:20:1",
"nodeType": "YulIdentifier",
"src": "1473:20:1"
},
"nativeSrc": "1473:53:1",
"nodeType": "YulFunctionCall",
"src": "1473:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "1463:6:1",
"nodeType": "YulIdentifier",
"src": "1463:6:1"
}
]
}
]
},
{
"nativeSrc": "1546:118:1",
"nodeType": "YulBlock",
"src": "1546:118:1",
"statements": [
{
"nativeSrc": "1561:16:1",
"nodeType": "YulVariableDeclaration",
"src": "1561:16:1",
"value": {
"kind": "number",
"nativeSrc": "1575:2:1",
"nodeType": "YulLiteral",
"src": "1575:2:1",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nativeSrc": "1565:6:1",
"nodeType": "YulTypedName",
"src": "1565:6:1",
"type": ""
}
]
},
{
"nativeSrc": "1591:63:1",
"nodeType": "YulAssignment",
"src": "1591:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1626:9:1",
"nodeType": "YulIdentifier",
"src": "1626:9:1"
},
{
"name": "offset",
"nativeSrc": "1637:6:1",
"nodeType": "YulIdentifier",
"src": "1637:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1622:3:1",
"nodeType": "YulIdentifier",
"src": "1622:3:1"
},
"nativeSrc": "1622:22:1",
"nodeType": "YulFunctionCall",
"src": "1622:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "1646:7:1",
"nodeType": "YulIdentifier",
"src": "1646:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "1601:20:1",
"nodeType": "YulIdentifier",
"src": "1601:20:1"
},
"nativeSrc": "1601:53:1",
"nodeType": "YulFunctionCall",
"src": "1601:53:1"
},
"variableNames": [
{
"name": "value1",
"nativeSrc": "1591:6:1",
"nodeType": "YulIdentifier",
"src": "1591:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nativeSrc": "1197:474:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1242:9:1",
"nodeType": "YulTypedName",
"src": "1242:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "1253:7:1",
"nodeType": "YulTypedName",
"src": "1253:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "1265:6:1",
"nodeType": "YulTypedName",
"src": "1265:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "1273:6:1",
"nodeType": "YulTypedName",
"src": "1273:6:1",
"type": ""
}
],
"src": "1197:474:1"
},
{
"body": {
"nativeSrc": "1742:53:1",
"nodeType": "YulBlock",
"src": "1742:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1759:3:1",
"nodeType": "YulIdentifier",
"src": "1759:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1782:5:1",
"nodeType": "YulIdentifier",
"src": "1782:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1764:17:1",
"nodeType": "YulIdentifier",
"src": "1764:17:1"
},
"nativeSrc": "1764:24:1",
"nodeType": "YulFunctionCall",
"src": "1764:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1752:6:1",
"nodeType": "YulIdentifier",
"src": "1752:6:1"
},
"nativeSrc": "1752:37:1",
"nodeType": "YulFunctionCall",
"src": "1752:37:1"
},
"nativeSrc": "1752:37:1",
"nodeType": "YulExpressionStatement",
"src": "1752:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1677:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1730:5:1",
"nodeType": "YulTypedName",
"src": "1730:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1737:3:1",
"nodeType": "YulTypedName",
"src": "1737:3:1",
"type": ""
}
],
"src": "1677:118:1"
},
{
"body": {
"nativeSrc": "1866:53:1",
"nodeType": "YulBlock",
"src": "1866:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1883:3:1",
"nodeType": "YulIdentifier",
"src": "1883:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1906:5:1",
"nodeType": "YulIdentifier",
"src": "1906:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "1888:17:1",
"nodeType": "YulIdentifier",
"src": "1888:17:1"
},
"nativeSrc": "1888:24:1",
"nodeType": "YulFunctionCall",
"src": "1888:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1876:6:1",
"nodeType": "YulIdentifier",
"src": "1876:6:1"
},
"nativeSrc": "1876:37:1",
"nodeType": "YulFunctionCall",
"src": "1876:37:1"
},
"nativeSrc": "1876:37:1",
"nodeType": "YulExpressionStatement",
"src": "1876:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "1801:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1854:5:1",
"nodeType": "YulTypedName",
"src": "1854:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1861:3:1",
"nodeType": "YulTypedName",
"src": "1861:3:1",
"type": ""
}
],
"src": "1801:118:1"
},
{
"body": {
"nativeSrc": "1984:40:1",
"nodeType": "YulBlock",
"src": "1984:40:1",
"statements": [
{
"nativeSrc": "1995:22:1",
"nodeType": "YulAssignment",
"src": "1995:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "2011:5:1",
"nodeType": "YulIdentifier",
"src": "2011:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "2005:5:1",
"nodeType": "YulIdentifier",
"src": "2005:5:1"
},
"nativeSrc": "2005:12:1",
"nodeType": "YulFunctionCall",
"src": "2005:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "1995:6:1",
"nodeType": "YulIdentifier",
"src": "1995:6:1"
}
]
}
]
},
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "1925:99:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1967:5:1",
"nodeType": "YulTypedName",
"src": "1967:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "1977:6:1",
"nodeType": "YulTypedName",
"src": "1977:6:1",
"type": ""
}
],
"src": "1925:99:1"
},
{
"body": {
"nativeSrc": "2126:73:1",
"nodeType": "YulBlock",
"src": "2126:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2143:3:1",
"nodeType": "YulIdentifier",
"src": "2143:3:1"
},
{
"name": "length",
"nativeSrc": "2148:6:1",
"nodeType": "YulIdentifier",
"src": "2148:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2136:6:1",
"nodeType": "YulIdentifier",
"src": "2136:6:1"
},
"nativeSrc": "2136:19:1",
"nodeType": "YulFunctionCall",
"src": "2136:19:1"
},
"nativeSrc": "2136:19:1",
"nodeType": "YulExpressionStatement",
"src": "2136:19:1"
},
{
"nativeSrc": "2164:29:1",
"nodeType": "YulAssignment",
"src": "2164:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2183:3:1",
"nodeType": "YulIdentifier",
"src": "2183:3:1"
},
{
"kind": "number",
"nativeSrc": "2188:4:1",
"nodeType": "YulLiteral",
"src": "2188:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2179:3:1",
"nodeType": "YulIdentifier",
"src": "2179:3:1"
},
"nativeSrc": "2179:14:1",
"nodeType": "YulFunctionCall",
"src": "2179:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "2164:11:1",
"nodeType": "YulIdentifier",
"src": "2164:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "2030:169:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "2098:3:1",
"nodeType": "YulTypedName",
"src": "2098:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "2103:6:1",
"nodeType": "YulTypedName",
"src": "2103:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "2114:11:1",
"nodeType": "YulTypedName",
"src": "2114:11:1",
"type": ""
}
],
"src": "2030:169:1"
},
{
"body": {
"nativeSrc": "2267:184:1",
"nodeType": "YulBlock",
"src": "2267:184:1",
"statements": [
{
"nativeSrc": "2277:10:1",
"nodeType": "YulVariableDeclaration",
"src": "2277:10:1",
"value": {
"kind": "number",
"nativeSrc": "2286:1:1",
"nodeType": "YulLiteral",
"src": "2286:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "2281:1:1",
"nodeType": "YulTypedName",
"src": "2281:1:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "2346:63:1",
"nodeType": "YulBlock",
"src": "2346:63:1",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "2371:3:1",
"nodeType": "YulIdentifier",
"src": "2371:3:1"
},
{
"name": "i",
"nativeSrc": "2376:1:1",
"nodeType": "YulIdentifier",
"src": "2376:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2367:3:1",
"nodeType": "YulIdentifier",
"src": "2367:3:1"
},
"nativeSrc": "2367:11:1",
"nodeType": "YulFunctionCall",
"src": "2367:11:1"
},
{
"arguments": [
{
"arguments": [
{
"name": "src",
"nativeSrc": "2390:3:1",
"nodeType": "YulIdentifier",
"src": "2390:3:1"
},
{
"name": "i",
"nativeSrc": "2395:1:1",
"nodeType": "YulIdentifier",
"src": "2395:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2386:3:1",
"nodeType": "YulIdentifier",
"src": "2386:3:1"
},
"nativeSrc": "2386:11:1",
"nodeType": "YulFunctionCall",
"src": "2386:11:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "2380:5:1",
"nodeType": "YulIdentifier",
"src": "2380:5:1"
},
"nativeSrc": "2380:18:1",
"nodeType": "YulFunctionCall",
"src": "2380:18:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2360:6:1",
"nodeType": "YulIdentifier",
"src": "2360:6:1"
},
"nativeSrc": "2360:39:1",
"nodeType": "YulFunctionCall",
"src": "2360:39:1"
},
"nativeSrc": "2360:39:1",
"nodeType": "YulExpressionStatement",
"src": "2360:39:1"
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "2307:1:1",
"nodeType": "YulIdentifier",
"src": "2307:1:1"
},
{
"name": "length",
"nativeSrc": "2310:6:1",
"nodeType": "YulIdentifier",
"src": "2310:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "2304:2:1",
"nodeType": "YulIdentifier",
"src": "2304:2:1"
},
"nativeSrc": "2304:13:1",
"nodeType": "YulFunctionCall",
"src": "2304:13:1"
},
"nativeSrc": "2296:113:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "2318:19:1",
"nodeType": "YulBlock",
"src": "2318:19:1",
"statements": [
{
"nativeSrc": "2320:15:1",
"nodeType": "YulAssignment",
"src": "2320:15:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "2329:1:1",
"nodeType": "YulIdentifier",
"src": "2329:1:1"
},
{
"kind": "number",
"nativeSrc": "2332:2:1",
"nodeType": "YulLiteral",
"src": "2332:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2325:3:1",
"nodeType": "YulIdentifier",
"src": "2325:3:1"
},
"nativeSrc": "2325:10:1",
"nodeType": "YulFunctionCall",
"src": "2325:10:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "2320:1:1",
"nodeType": "YulIdentifier",
"src": "2320:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "2300:3:1",
"nodeType": "YulBlock",
"src": "2300:3:1",
"statements": []
},
"src": "2296:113:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "dst",
"nativeSrc": "2429:3:1",
"nodeType": "YulIdentifier",
"src": "2429:3:1"
},
{
"name": "length",
"nativeSrc": "2434:6:1",
"nodeType": "YulIdentifier",
"src": "2434:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2425:3:1",
"nodeType": "YulIdentifier",
"src": "2425:3:1"
},
"nativeSrc": "2425:16:1",
"nodeType": "YulFunctionCall",
"src": "2425:16:1"
},
{
"kind": "number",
"nativeSrc": "2443:1:1",
"nodeType": "YulLiteral",
"src": "2443:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "2418:6:1",
"nodeType": "YulIdentifier",
"src": "2418:6:1"
},
"nativeSrc": "2418:27:1",
"nodeType": "YulFunctionCall",
"src": "2418:27:1"
},
"nativeSrc": "2418:27:1",
"nodeType": "YulExpressionStatement",
"src": "2418:27:1"
}
]
},
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "2205:246:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "src",
"nativeSrc": "2249:3:1",
"nodeType": "YulTypedName",
"src": "2249:3:1",
"type": ""
},
{
"name": "dst",
"nativeSrc": "2254:3:1",
"nodeType": "YulTypedName",
"src": "2254:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "2259:6:1",
"nodeType": "YulTypedName",
"src": "2259:6:1",
"type": ""
}
],
"src": "2205:246:1"
},
{
"body": {
"nativeSrc": "2505:54:1",
"nodeType": "YulBlock",
"src": "2505:54:1",
"statements": [
{
"nativeSrc": "2515:38:1",
"nodeType": "YulAssignment",
"src": "2515:38:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "2533:5:1",
"nodeType": "YulIdentifier",
"src": "2533:5:1"
},
{
"kind": "number",
"nativeSrc": "2540:2:1",
"nodeType": "YulLiteral",
"src": "2540:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2529:3:1",
"nodeType": "YulIdentifier",
"src": "2529:3:1"
},
"nativeSrc": "2529:14:1",
"nodeType": "YulFunctionCall",
"src": "2529:14:1"
},
{
"arguments": [
{
"kind": "number",
"nativeSrc": "2549:2:1",
"nodeType": "YulLiteral",
"src": "2549:2:1",
"type": "",
"value": "31"
}
],
"functionName": {
"name": "not",
"nativeSrc": "2545:3:1",
"nodeType": "YulIdentifier",
"src": "2545:3:1"
},
"nativeSrc": "2545:7:1",
"nodeType": "YulFunctionCall",
"src": "2545:7:1"
}
],
"functionName": {
"name": "and",
"nativeSrc": "2525:3:1",
"nodeType": "YulIdentifier",
"src": "2525:3:1"
},
"nativeSrc": "2525:28:1",
"nodeType": "YulFunctionCall",
"src": "2525:28:1"
},
"variableNames": [
{
"name": "result",
"nativeSrc": "2515:6:1",
"nodeType": "YulIdentifier",
"src": "2515:6:1"
}
]
}
]
},
"name": "round_up_to_mul_of_32",
"nativeSrc": "2457:102:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2488:5:1",
"nodeType": "YulTypedName",
"src": "2488:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "result",
"nativeSrc": "2498:6:1",
"nodeType": "YulTypedName",
"src": "2498:6:1",
"type": ""
}
],
"src": "2457:102:1"
},
{
"body": {
"nativeSrc": "2657:285:1",
"nodeType": "YulBlock",
"src": "2657:285:1",
"statements": [
{
"nativeSrc": "2667:53:1",
"nodeType": "YulVariableDeclaration",
"src": "2667:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "2714:5:1",
"nodeType": "YulIdentifier",
"src": "2714:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "2681:32:1",
"nodeType": "YulIdentifier",
"src": "2681:32:1"
},
"nativeSrc": "2681:39:1",
"nodeType": "YulFunctionCall",
"src": "2681:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "2671:6:1",
"nodeType": "YulTypedName",
"src": "2671:6:1",
"type": ""
}
]
},
{
"nativeSrc": "2729:78:1",
"nodeType": "YulAssignment",
"src": "2729:78:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2795:3:1",
"nodeType": "YulIdentifier",
"src": "2795:3:1"
},
{
"name": "length",
"nativeSrc": "2800:6:1",
"nodeType": "YulIdentifier",
"src": "2800:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nativeSrc": "2736:58:1",
"nodeType": "YulIdentifier",
"src": "2736:58:1"
},
"nativeSrc": "2736:71:1",
"nodeType": "YulFunctionCall",
"src": "2736:71:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "2729:3:1",
"nodeType": "YulIdentifier",
"src": "2729:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "2855:5:1",
"nodeType": "YulIdentifier",
"src": "2855:5:1"
},
{
"kind": "number",
"nativeSrc": "2862:4:1",
"nodeType": "YulLiteral",
"src": "2862:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2851:3:1",
"nodeType": "YulIdentifier",
"src": "2851:3:1"
},
"nativeSrc": "2851:16:1",
"nodeType": "YulFunctionCall",
"src": "2851:16:1"
},
{
"name": "pos",
"nativeSrc": "2869:3:1",
"nodeType": "YulIdentifier",
"src": "2869:3:1"
},
{
"name": "length",
"nativeSrc": "2874:6:1",
"nodeType": "YulIdentifier",
"src": "2874:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "2816:34:1",
"nodeType": "YulIdentifier",
"src": "2816:34:1"
},
"nativeSrc": "2816:65:1",
"nodeType": "YulFunctionCall",
"src": "2816:65:1"
},
"nativeSrc": "2816:65:1",
"nodeType": "YulExpressionStatement",
"src": "2816:65:1"
},
{
"nativeSrc": "2890:46:1",
"nodeType": "YulAssignment",
"src": "2890:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "2901:3:1",
"nodeType": "YulIdentifier",
"src": "2901:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "2928:6:1",
"nodeType": "YulIdentifier",
"src": "2928:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "2906:21:1",
"nodeType": "YulIdentifier",
"src": "2906:21:1"
},
"nativeSrc": "2906:29:1",
"nodeType": "YulFunctionCall",
"src": "2906:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "2897:3:1",
"nodeType": "YulIdentifier",
"src": "2897:3:1"
},
"nativeSrc": "2897:39:1",
"nodeType": "YulFunctionCall",
"src": "2897:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "2890:3:1",
"nodeType": "YulIdentifier",
"src": "2890:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "2565:377:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "2638:5:1",
"nodeType": "YulTypedName",
"src": "2638:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "2645:3:1",
"nodeType": "YulTypedName",
"src": "2645:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "2653:3:1",
"nodeType": "YulTypedName",
"src": "2653:3:1",
"type": ""
}
],
"src": "2565:377:1"
},
{
"body": {
"nativeSrc": "3178:525:1",
"nodeType": "YulBlock",
"src": "3178:525:1",
"statements": [
{
"nativeSrc": "3188:27:1",
"nodeType": "YulAssignment",
"src": "3188:27:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "3200:9:1",
"nodeType": "YulIdentifier",
"src": "3200:9:1"
},
{
"kind": "number",
"nativeSrc": "3211:3:1",
"nodeType": "YulLiteral",
"src": "3211:3:1",
"type": "",
"value": "160"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3196:3:1",
"nodeType": "YulIdentifier",
"src": "3196:3:1"
},
"nativeSrc": "3196:19:1",
"nodeType": "YulFunctionCall",
"src": "3196:19:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3188:4:1",
"nodeType": "YulIdentifier",
"src": "3188:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "3269:6:1",
"nodeType": "YulIdentifier",
"src": "3269:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3282:9:1",
"nodeType": "YulIdentifier",
"src": "3282:9:1"
},
{
"kind": "number",
"nativeSrc": "3293:1:1",
"nodeType": "YulLiteral",
"src": "3293:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3278:3:1",
"nodeType": "YulIdentifier",
"src": "3278:3:1"
},
"nativeSrc": "3278:17:1",
"nodeType": "YulFunctionCall",
"src": "3278:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "3225:43:1",
"nodeType": "YulIdentifier",
"src": "3225:43:1"
},
"nativeSrc": "3225:71:1",
"nodeType": "YulFunctionCall",
"src": "3225:71:1"
},
"nativeSrc": "3225:71:1",
"nodeType": "YulExpressionStatement",
"src": "3225:71:1"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nativeSrc": "3350:6:1",
"nodeType": "YulIdentifier",
"src": "3350:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3363:9:1",
"nodeType": "YulIdentifier",
"src": "3363:9:1"
},
{
"kind": "number",
"nativeSrc": "3374:2:1",
"nodeType": "YulLiteral",
"src": "3374:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3359:3:1",
"nodeType": "YulIdentifier",
"src": "3359:3:1"
},
"nativeSrc": "3359:18:1",
"nodeType": "YulFunctionCall",
"src": "3359:18:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nativeSrc": "3306:43:1",
"nodeType": "YulIdentifier",
"src": "3306:43:1"
},
"nativeSrc": "3306:72:1",
"nodeType": "YulFunctionCall",
"src": "3306:72:1"
},
"nativeSrc": "3306:72:1",
"nodeType": "YulExpressionStatement",
"src": "3306:72:1"
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3399:9:1",
"nodeType": "YulIdentifier",
"src": "3399:9:1"
},
{
"kind": "number",
"nativeSrc": "3410:2:1",
"nodeType": "YulLiteral",
"src": "3410:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3395:3:1",
"nodeType": "YulIdentifier",
"src": "3395:3:1"
},
"nativeSrc": "3395:18:1",
"nodeType": "YulFunctionCall",
"src": "3395:18:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "3419:4:1",
"nodeType": "YulIdentifier",
"src": "3419:4:1"
},
{
"name": "headStart",
"nativeSrc": "3425:9:1",
"nodeType": "YulIdentifier",
"src": "3425:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3415:3:1",
"nodeType": "YulIdentifier",
"src": "3415:3:1"
},
"nativeSrc": "3415:20:1",
"nodeType": "YulFunctionCall",
"src": "3415:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "3388:6:1",
"nodeType": "YulIdentifier",
"src": "3388:6:1"
},
"nativeSrc": "3388:48:1",
"nodeType": "YulFunctionCall",
"src": "3388:48:1"
},
"nativeSrc": "3388:48:1",
"nodeType": "YulExpressionStatement",
"src": "3388:48:1"
},
{
"nativeSrc": "3445:86:1",
"nodeType": "YulAssignment",
"src": "3445:86:1",
"value": {
"arguments": [
{
"name": "value2",
"nativeSrc": "3517:6:1",
"nodeType": "YulIdentifier",
"src": "3517:6:1"
},
{
"name": "tail",
"nativeSrc": "3526:4:1",
"nodeType": "YulIdentifier",
"src": "3526:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack",
"nativeSrc": "3453:63:1",
"nodeType": "YulIdentifier",
"src": "3453:63:1"
},
"nativeSrc": "3453:78:1",
"nodeType": "YulFunctionCall",
"src": "3453:78:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "3445:4:1",
"nodeType": "YulIdentifier",
"src": "3445:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value3",
"nativeSrc": "3585:6:1",
"nodeType": "YulIdentifier",
"src": "3585:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3598:9:1",
"nodeType": "YulIdentifier",
"src": "3598:9:1"
},
{
"kind": "number",
"nativeSrc": "3609:2:1",
"nodeType": "YulLiteral",
"src": "3609:2:1",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3594:3:1",
"nodeType": "YulIdentifier",
"src": "3594:3:1"
},
"nativeSrc": "3594:18:1",
"nodeType": "YulFunctionCall",
"src": "3594:18:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "3541:43:1",
"nodeType": "YulIdentifier",
"src": "3541:43:1"
},
"nativeSrc": "3541:72:1",
"nodeType": "YulFunctionCall",
"src": "3541:72:1"
},
"nativeSrc": "3541:72:1",
"nodeType": "YulExpressionStatement",
"src": "3541:72:1"
},
{
"expression": {
"arguments": [
{
"name": "value4",
"nativeSrc": "3667:6:1",
"nodeType": "YulIdentifier",
"src": "3667:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3680:9:1",
"nodeType": "YulIdentifier",
"src": "3680:9:1"
},
{
"kind": "number",
"nativeSrc": "3691:3:1",
"nodeType": "YulLiteral",
"src": "3691:3:1",
"type": "",
"value": "128"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3676:3:1",
"nodeType": "YulIdentifier",
"src": "3676:3:1"
},
"nativeSrc": "3676:19:1",
"nodeType": "YulFunctionCall",
"src": "3676:19:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "3623:43:1",
"nodeType": "YulIdentifier",
"src": "3623:43:1"
},
"nativeSrc": "3623:73:1",
"nodeType": "YulFunctionCall",
"src": "3623:73:1"
},
"nativeSrc": "3623:73:1",
"nodeType": "YulExpressionStatement",
"src": "3623:73:1"
}
]
},
"name": "abi_encode_tuple_t_uint256_t_address_t_string_memory_ptr_t_uint256_t_uint256__to_t_uint256_t_address_t_string_memory_ptr_t_uint256_t_uint256__fromStack_reversed",
"nativeSrc": "2948:755:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3118:9:1",
"nodeType": "YulTypedName",
"src": "3118:9:1",
"type": ""
},
{
"name": "value4",
"nativeSrc": "3130:6:1",
"nodeType": "YulTypedName",
"src": "3130:6:1",
"type": ""
},
{
"name": "value3",
"nativeSrc": "3138:6:1",
"nodeType": "YulTypedName",
"src": "3138:6:1",
"type": ""
},
{
"name": "value2",
"nativeSrc": "3146:6:1",
"nodeType": "YulTypedName",
"src": "3146:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "3154:6:1",
"nodeType": "YulTypedName",
"src": "3154:6:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "3162:6:1",
"nodeType": "YulTypedName",
"src": "3162:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "3173:4:1",
"nodeType": "YulTypedName",
"src": "3173:4:1",
"type": ""
}
],
"src": "2948:755:1"
},
{
"body": {
"nativeSrc": "3775:263:1",
"nodeType": "YulBlock",
"src": "3775:263:1",
"statements": [
{
"body": {
"nativeSrc": "3821:83:1",
"nodeType": "YulBlock",
"src": "3821:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "3823:77:1",
"nodeType": "YulIdentifier",
"src": "3823:77:1"
},
"nativeSrc": "3823:79:1",
"nodeType": "YulFunctionCall",
"src": "3823:79:1"
},
"nativeSrc": "3823:79:1",
"nodeType": "YulExpressionStatement",
"src": "3823:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "3796:7:1",
"nodeType": "YulIdentifier",
"src": "3796:7:1"
},
{
"name": "headStart",
"nativeSrc": "3805:9:1",
"nodeType": "YulIdentifier",
"src": "3805:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "3792:3:1",
"nodeType": "YulIdentifier",
"src": "3792:3:1"
},
"nativeSrc": "3792:23:1",
"nodeType": "YulFunctionCall",
"src": "3792:23:1"
},
{
"kind": "number",
"nativeSrc": "3817:2:1",
"nodeType": "YulLiteral",
"src": "3817:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "3788:3:1",
"nodeType": "YulIdentifier",
"src": "3788:3:1"
},
"nativeSrc": "3788:32:1",
"nodeType": "YulFunctionCall",
"src": "3788:32:1"
},
"nativeSrc": "3785:119:1",
"nodeType": "YulIf",
"src": "3785:119:1"
},
{
"nativeSrc": "3914:117:1",
"nodeType": "YulBlock",
"src": "3914:117:1",
"statements": [
{
"nativeSrc": "3929:15:1",
"nodeType": "YulVariableDeclaration",
"src": "3929:15:1",
"value": {
"kind": "number",
"nativeSrc": "3943:1:1",
"nodeType": "YulLiteral",
"src": "3943:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "3933:6:1",
"nodeType": "YulTypedName",
"src": "3933:6:1",
"type": ""
}
]
},
{
"nativeSrc": "3958:63:1",
"nodeType": "YulAssignment",
"src": "3958:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "3993:9:1",
"nodeType": "YulIdentifier",
"src": "3993:9:1"
},
{
"name": "offset",
"nativeSrc": "4004:6:1",
"nodeType": "YulIdentifier",
"src": "4004:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "3989:3:1",
"nodeType": "YulIdentifier",
"src": "3989:3:1"
},
"nativeSrc": "3989:22:1",
"nodeType": "YulFunctionCall",
"src": "3989:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "4013:7:1",
"nodeType": "YulIdentifier",
"src": "4013:7:1"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nativeSrc": "3968:20:1",
"nodeType": "YulIdentifier",
"src": "3968:20:1"
},
"nativeSrc": "3968:53:1",
"nodeType": "YulFunctionCall",
"src": "3968:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "3958:6:1",
"nodeType": "YulIdentifier",
"src": "3958:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nativeSrc": "3709:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "3745:9:1",
"nodeType": "YulTypedName",
"src": "3745:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "3756:7:1",
"nodeType": "YulTypedName",
"src": "3756:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "3768:6:1",
"nodeType": "YulTypedName",
"src": "3768:6:1",
"type": ""
}
],
"src": "3709:329:1"
},
{
"body": {
"nativeSrc": "4139:40:1",
"nodeType": "YulBlock",
"src": "4139:40:1",
"statements": [
{
"nativeSrc": "4150:22:1",
"nodeType": "YulAssignment",
"src": "4150:22:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "4166:5:1",
"nodeType": "YulIdentifier",
"src": "4166:5:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "4160:5:1",
"nodeType": "YulIdentifier",
"src": "4160:5:1"
},
"nativeSrc": "4160:12:1",
"nodeType": "YulFunctionCall",
"src": "4160:12:1"
},
"variableNames": [
{
"name": "length",
"nativeSrc": "4150:6:1",
"nodeType": "YulIdentifier",
"src": "4150:6:1"
}
]
}
]
},
"name": "array_length_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr",
"nativeSrc": "4044:135:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4122:5:1",
"nodeType": "YulTypedName",
"src": "4122:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "length",
"nativeSrc": "4132:6:1",
"nodeType": "YulTypedName",
"src": "4132:6:1",
"type": ""
}
],
"src": "4044:135:1"
},
{
"body": {
"nativeSrc": "4317:73:1",
"nodeType": "YulBlock",
"src": "4317:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4334:3:1",
"nodeType": "YulIdentifier",
"src": "4334:3:1"
},
{
"name": "length",
"nativeSrc": "4339:6:1",
"nodeType": "YulIdentifier",
"src": "4339:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4327:6:1",
"nodeType": "YulIdentifier",
"src": "4327:6:1"
},
"nativeSrc": "4327:19:1",
"nodeType": "YulFunctionCall",
"src": "4327:19:1"
},
"nativeSrc": "4327:19:1",
"nodeType": "YulExpressionStatement",
"src": "4327:19:1"
},
{
"nativeSrc": "4355:29:1",
"nodeType": "YulAssignment",
"src": "4355:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4374:3:1",
"nodeType": "YulIdentifier",
"src": "4374:3:1"
},
{
"kind": "number",
"nativeSrc": "4379:4:1",
"nodeType": "YulLiteral",
"src": "4379:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4370:3:1",
"nodeType": "YulIdentifier",
"src": "4370:3:1"
},
"nativeSrc": "4370:14:1",
"nodeType": "YulFunctionCall",
"src": "4370:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "4355:11:1",
"nodeType": "YulIdentifier",
"src": "4355:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr_fromStack",
"nativeSrc": "4185:205:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "4289:3:1",
"nodeType": "YulTypedName",
"src": "4289:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "4294:6:1",
"nodeType": "YulTypedName",
"src": "4294:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "4305:11:1",
"nodeType": "YulTypedName",
"src": "4305:11:1",
"type": ""
}
],
"src": "4185:205:1"
},
{
"body": {
"nativeSrc": "4489:60:1",
"nodeType": "YulBlock",
"src": "4489:60:1",
"statements": [
{
"nativeSrc": "4499:11:1",
"nodeType": "YulAssignment",
"src": "4499:11:1",
"value": {
"name": "ptr",
"nativeSrc": "4507:3:1",
"nodeType": "YulIdentifier",
"src": "4507:3:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "4499:4:1",
"nodeType": "YulIdentifier",
"src": "4499:4:1"
}
]
},
{
"nativeSrc": "4520:22:1",
"nodeType": "YulAssignment",
"src": "4520:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nativeSrc": "4532:3:1",
"nodeType": "YulIdentifier",
"src": "4532:3:1"
},
{
"kind": "number",
"nativeSrc": "4537:4:1",
"nodeType": "YulLiteral",
"src": "4537:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4528:3:1",
"nodeType": "YulIdentifier",
"src": "4528:3:1"
},
"nativeSrc": "4528:14:1",
"nodeType": "YulFunctionCall",
"src": "4528:14:1"
},
"variableNames": [
{
"name": "data",
"nativeSrc": "4520:4:1",
"nodeType": "YulIdentifier",
"src": "4520:4:1"
}
]
}
]
},
"name": "array_dataslot_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr",
"nativeSrc": "4396:153:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "4476:3:1",
"nodeType": "YulTypedName",
"src": "4476:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "data",
"nativeSrc": "4484:4:1",
"nodeType": "YulTypedName",
"src": "4484:4:1",
"type": ""
}
],
"src": "4396:153:1"
},
{
"body": {
"nativeSrc": "4610:53:1",
"nodeType": "YulBlock",
"src": "4610:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4627:3:1",
"nodeType": "YulIdentifier",
"src": "4627:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "4650:5:1",
"nodeType": "YulIdentifier",
"src": "4650:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "4632:17:1",
"nodeType": "YulIdentifier",
"src": "4632:17:1"
},
"nativeSrc": "4632:24:1",
"nodeType": "YulFunctionCall",
"src": "4632:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4620:6:1",
"nodeType": "YulIdentifier",
"src": "4620:6:1"
},
"nativeSrc": "4620:37:1",
"nodeType": "YulFunctionCall",
"src": "4620:37:1"
},
"nativeSrc": "4620:37:1",
"nodeType": "YulExpressionStatement",
"src": "4620:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256",
"nativeSrc": "4555:108:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4598:5:1",
"nodeType": "YulTypedName",
"src": "4598:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "4605:3:1",
"nodeType": "YulTypedName",
"src": "4605:3:1",
"type": ""
}
],
"src": "4555:108:1"
},
{
"body": {
"nativeSrc": "4724:53:1",
"nodeType": "YulBlock",
"src": "4724:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4741:3:1",
"nodeType": "YulIdentifier",
"src": "4741:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "4764:5:1",
"nodeType": "YulIdentifier",
"src": "4764:5:1"
}
],
"functionName": {
"name": "cleanup_t_address",
"nativeSrc": "4746:17:1",
"nodeType": "YulIdentifier",
"src": "4746:17:1"
},
"nativeSrc": "4746:24:1",
"nodeType": "YulFunctionCall",
"src": "4746:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4734:6:1",
"nodeType": "YulIdentifier",
"src": "4734:6:1"
},
"nativeSrc": "4734:37:1",
"nodeType": "YulFunctionCall",
"src": "4734:37:1"
},
"nativeSrc": "4734:37:1",
"nodeType": "YulExpressionStatement",
"src": "4734:37:1"
}
]
},
"name": "abi_encode_t_address_to_t_address",
"nativeSrc": "4669:108:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "4712:5:1",
"nodeType": "YulTypedName",
"src": "4712:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "4719:3:1",
"nodeType": "YulTypedName",
"src": "4719:3:1",
"type": ""
}
],
"src": "4669:108:1"
},
{
"body": {
"nativeSrc": "4869:73:1",
"nodeType": "YulBlock",
"src": "4869:73:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4886:3:1",
"nodeType": "YulIdentifier",
"src": "4886:3:1"
},
{
"name": "length",
"nativeSrc": "4891:6:1",
"nodeType": "YulIdentifier",
"src": "4891:6:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "4879:6:1",
"nodeType": "YulIdentifier",
"src": "4879:6:1"
},
"nativeSrc": "4879:19:1",
"nodeType": "YulFunctionCall",
"src": "4879:19:1"
},
"nativeSrc": "4879:19:1",
"nodeType": "YulExpressionStatement",
"src": "4879:19:1"
},
{
"nativeSrc": "4907:29:1",
"nodeType": "YulAssignment",
"src": "4907:29:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "4926:3:1",
"nodeType": "YulIdentifier",
"src": "4926:3:1"
},
{
"kind": "number",
"nativeSrc": "4931:4:1",
"nodeType": "YulLiteral",
"src": "4931:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "4922:3:1",
"nodeType": "YulIdentifier",
"src": "4922:3:1"
},
"nativeSrc": "4922:14:1",
"nodeType": "YulFunctionCall",
"src": "4922:14:1"
},
"variableNames": [
{
"name": "updated_pos",
"nativeSrc": "4907:11:1",
"nodeType": "YulIdentifier",
"src": "4907:11:1"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nativeSrc": "4783:159:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nativeSrc": "4841:3:1",
"nodeType": "YulTypedName",
"src": "4841:3:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "4846:6:1",
"nodeType": "YulTypedName",
"src": "4846:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nativeSrc": "4857:11:1",
"nodeType": "YulTypedName",
"src": "4857:11:1",
"type": ""
}
],
"src": "4783:159:1"
},
{
"body": {
"nativeSrc": "5030:275:1",
"nodeType": "YulBlock",
"src": "5030:275:1",
"statements": [
{
"nativeSrc": "5040:53:1",
"nodeType": "YulVariableDeclaration",
"src": "5040:53:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "5087:5:1",
"nodeType": "YulIdentifier",
"src": "5087:5:1"
}
],
"functionName": {
"name": "array_length_t_string_memory_ptr",
"nativeSrc": "5054:32:1",
"nodeType": "YulIdentifier",
"src": "5054:32:1"
},
"nativeSrc": "5054:39:1",
"nodeType": "YulFunctionCall",
"src": "5054:39:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "5044:6:1",
"nodeType": "YulTypedName",
"src": "5044:6:1",
"type": ""
}
]
},
{
"nativeSrc": "5102:68:1",
"nodeType": "YulAssignment",
"src": "5102:68:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5158:3:1",
"nodeType": "YulIdentifier",
"src": "5158:3:1"
},
{
"name": "length",
"nativeSrc": "5163:6:1",
"nodeType": "YulIdentifier",
"src": "5163:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr",
"nativeSrc": "5109:48:1",
"nodeType": "YulIdentifier",
"src": "5109:48:1"
},
"nativeSrc": "5109:61:1",
"nodeType": "YulFunctionCall",
"src": "5109:61:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "5102:3:1",
"nodeType": "YulIdentifier",
"src": "5102:3:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "5218:5:1",
"nodeType": "YulIdentifier",
"src": "5218:5:1"
},
{
"kind": "number",
"nativeSrc": "5225:4:1",
"nodeType": "YulLiteral",
"src": "5225:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5214:3:1",
"nodeType": "YulIdentifier",
"src": "5214:3:1"
},
"nativeSrc": "5214:16:1",
"nodeType": "YulFunctionCall",
"src": "5214:16:1"
},
{
"name": "pos",
"nativeSrc": "5232:3:1",
"nodeType": "YulIdentifier",
"src": "5232:3:1"
},
{
"name": "length",
"nativeSrc": "5237:6:1",
"nodeType": "YulIdentifier",
"src": "5237:6:1"
}
],
"functionName": {
"name": "copy_memory_to_memory_with_cleanup",
"nativeSrc": "5179:34:1",
"nodeType": "YulIdentifier",
"src": "5179:34:1"
},
"nativeSrc": "5179:65:1",
"nodeType": "YulFunctionCall",
"src": "5179:65:1"
},
"nativeSrc": "5179:65:1",
"nodeType": "YulExpressionStatement",
"src": "5179:65:1"
},
{
"nativeSrc": "5253:46:1",
"nodeType": "YulAssignment",
"src": "5253:46:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5264:3:1",
"nodeType": "YulIdentifier",
"src": "5264:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "5291:6:1",
"nodeType": "YulIdentifier",
"src": "5291:6:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "5269:21:1",
"nodeType": "YulIdentifier",
"src": "5269:21:1"
},
"nativeSrc": "5269:29:1",
"nodeType": "YulFunctionCall",
"src": "5269:29:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5260:3:1",
"nodeType": "YulIdentifier",
"src": "5260:3:1"
},
"nativeSrc": "5260:39:1",
"nodeType": "YulFunctionCall",
"src": "5260:39:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "5253:3:1",
"nodeType": "YulIdentifier",
"src": "5253:3:1"
}
]
}
]
},
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nativeSrc": "4948:357:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5011:5:1",
"nodeType": "YulTypedName",
"src": "5011:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "5018:3:1",
"nodeType": "YulTypedName",
"src": "5018:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "5026:3:1",
"nodeType": "YulTypedName",
"src": "5026:3:1",
"type": ""
}
],
"src": "4948:357:1"
},
{
"body": {
"nativeSrc": "5469:1013:1",
"nodeType": "YulBlock",
"src": "5469:1013:1",
"statements": [
{
"nativeSrc": "5479:26:1",
"nodeType": "YulVariableDeclaration",
"src": "5479:26:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "5495:3:1",
"nodeType": "YulIdentifier",
"src": "5495:3:1"
},
{
"kind": "number",
"nativeSrc": "5500:4:1",
"nodeType": "YulLiteral",
"src": "5500:4:1",
"type": "",
"value": "0xa0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5491:3:1",
"nodeType": "YulIdentifier",
"src": "5491:3:1"
},
"nativeSrc": "5491:14:1",
"nodeType": "YulFunctionCall",
"src": "5491:14:1"
},
"variables": [
{
"name": "tail",
"nativeSrc": "5483:4:1",
"nodeType": "YulTypedName",
"src": "5483:4:1",
"type": ""
}
]
},
{
"nativeSrc": "5515:162:1",
"nodeType": "YulBlock",
"src": "5515:162:1",
"statements": [
{
"nativeSrc": "5548:43:1",
"nodeType": "YulVariableDeclaration",
"src": "5548:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "5578:5:1",
"nodeType": "YulIdentifier",
"src": "5578:5:1"
},
{
"kind": "number",
"nativeSrc": "5585:4:1",
"nodeType": "YulLiteral",
"src": "5585:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5574:3:1",
"nodeType": "YulIdentifier",
"src": "5574:3:1"
},
"nativeSrc": "5574:16:1",
"nodeType": "YulFunctionCall",
"src": "5574:16:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5568:5:1",
"nodeType": "YulIdentifier",
"src": "5568:5:1"
},
"nativeSrc": "5568:23:1",
"nodeType": "YulFunctionCall",
"src": "5568:23:1"
},
"variables": [
{
"name": "memberValue0",
"nativeSrc": "5552:12:1",
"nodeType": "YulTypedName",
"src": "5552:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "memberValue0",
"nativeSrc": "5638:12:1",
"nodeType": "YulIdentifier",
"src": "5638:12:1"
},
{
"arguments": [
{
"name": "pos",
"nativeSrc": "5656:3:1",
"nodeType": "YulIdentifier",
"src": "5656:3:1"
},
{
"kind": "number",
"nativeSrc": "5661:4:1",
"nodeType": "YulLiteral",
"src": "5661:4:1",
"type": "",
"value": "0x00"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5652:3:1",
"nodeType": "YulIdentifier",
"src": "5652:3:1"
},
"nativeSrc": "5652:14:1",
"nodeType": "YulFunctionCall",
"src": "5652:14:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256",
"nativeSrc": "5604:33:1",
"nodeType": "YulIdentifier",
"src": "5604:33:1"
},
"nativeSrc": "5604:63:1",
"nodeType": "YulFunctionCall",
"src": "5604:63:1"
},
"nativeSrc": "5604:63:1",
"nodeType": "YulExpressionStatement",
"src": "5604:63:1"
}
]
},
{
"nativeSrc": "5687:166:1",
"nodeType": "YulBlock",
"src": "5687:166:1",
"statements": [
{
"nativeSrc": "5724:43:1",
"nodeType": "YulVariableDeclaration",
"src": "5724:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "5754:5:1",
"nodeType": "YulIdentifier",
"src": "5754:5:1"
},
{
"kind": "number",
"nativeSrc": "5761:4:1",
"nodeType": "YulLiteral",
"src": "5761:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5750:3:1",
"nodeType": "YulIdentifier",
"src": "5750:3:1"
},
"nativeSrc": "5750:16:1",
"nodeType": "YulFunctionCall",
"src": "5750:16:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5744:5:1",
"nodeType": "YulIdentifier",
"src": "5744:5:1"
},
"nativeSrc": "5744:23:1",
"nodeType": "YulFunctionCall",
"src": "5744:23:1"
},
"variables": [
{
"name": "memberValue0",
"nativeSrc": "5728:12:1",
"nodeType": "YulTypedName",
"src": "5728:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "memberValue0",
"nativeSrc": "5814:12:1",
"nodeType": "YulIdentifier",
"src": "5814:12:1"
},
{
"arguments": [
{
"name": "pos",
"nativeSrc": "5832:3:1",
"nodeType": "YulIdentifier",
"src": "5832:3:1"
},
{
"kind": "number",
"nativeSrc": "5837:4:1",
"nodeType": "YulLiteral",
"src": "5837:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5828:3:1",
"nodeType": "YulIdentifier",
"src": "5828:3:1"
},
"nativeSrc": "5828:14:1",
"nodeType": "YulFunctionCall",
"src": "5828:14:1"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address",
"nativeSrc": "5780:33:1",
"nodeType": "YulIdentifier",
"src": "5780:33:1"
},
"nativeSrc": "5780:63:1",
"nodeType": "YulFunctionCall",
"src": "5780:63:1"
},
"nativeSrc": "5780:63:1",
"nodeType": "YulExpressionStatement",
"src": "5780:63:1"
}
]
},
{
"nativeSrc": "5863:238:1",
"nodeType": "YulBlock",
"src": "5863:238:1",
"statements": [
{
"nativeSrc": "5901:43:1",
"nodeType": "YulVariableDeclaration",
"src": "5901:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "5931:5:1",
"nodeType": "YulIdentifier",
"src": "5931:5:1"
},
{
"kind": "number",
"nativeSrc": "5938:4:1",
"nodeType": "YulLiteral",
"src": "5938:4:1",
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5927:3:1",
"nodeType": "YulIdentifier",
"src": "5927:3:1"
},
"nativeSrc": "5927:16:1",
"nodeType": "YulFunctionCall",
"src": "5927:16:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "5921:5:1",
"nodeType": "YulIdentifier",
"src": "5921:5:1"
},
"nativeSrc": "5921:23:1",
"nodeType": "YulFunctionCall",
"src": "5921:23:1"
},
"variables": [
{
"name": "memberValue0",
"nativeSrc": "5905:12:1",
"nodeType": "YulTypedName",
"src": "5905:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "pos",
"nativeSrc": "5969:3:1",
"nodeType": "YulIdentifier",
"src": "5969:3:1"
},
{
"kind": "number",
"nativeSrc": "5974:4:1",
"nodeType": "YulLiteral",
"src": "5974:4:1",
"type": "",
"value": "0x40"
}
],
"functionName": {
"name": "add",
"nativeSrc": "5965:3:1",
"nodeType": "YulIdentifier",
"src": "5965:3:1"
},
"nativeSrc": "5965:14:1",
"nodeType": "YulFunctionCall",
"src": "5965:14:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "5985:4:1",
"nodeType": "YulIdentifier",
"src": "5985:4:1"
},
{
"name": "pos",
"nativeSrc": "5991:3:1",
"nodeType": "YulIdentifier",
"src": "5991:3:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "5981:3:1",
"nodeType": "YulIdentifier",
"src": "5981:3:1"
},
"nativeSrc": "5981:14:1",
"nodeType": "YulFunctionCall",
"src": "5981:14:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "5958:6:1",
"nodeType": "YulIdentifier",
"src": "5958:6:1"
},
"nativeSrc": "5958:38:1",
"nodeType": "YulFunctionCall",
"src": "5958:38:1"
},
"nativeSrc": "5958:38:1",
"nodeType": "YulExpressionStatement",
"src": "5958:38:1"
},
{
"nativeSrc": "6009:81:1",
"nodeType": "YulAssignment",
"src": "6009:81:1",
"value": {
"arguments": [
{
"name": "memberValue0",
"nativeSrc": "6071:12:1",
"nodeType": "YulIdentifier",
"src": "6071:12:1"
},
{
"name": "tail",
"nativeSrc": "6085:4:1",
"nodeType": "YulIdentifier",
"src": "6085:4:1"
}
],
"functionName": {
"name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr",
"nativeSrc": "6017:53:1",
"nodeType": "YulIdentifier",
"src": "6017:53:1"
},
"nativeSrc": "6017:73:1",
"nodeType": "YulFunctionCall",
"src": "6017:73:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "6009:4:1",
"nodeType": "YulIdentifier",
"src": "6009:4:1"
}
]
}
]
},
{
"nativeSrc": "6111:169:1",
"nodeType": "YulBlock",
"src": "6111:169:1",
"statements": [
{
"nativeSrc": "6151:43:1",
"nodeType": "YulVariableDeclaration",
"src": "6151:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "6181:5:1",
"nodeType": "YulIdentifier",
"src": "6181:5:1"
},
{
"kind": "number",
"nativeSrc": "6188:4:1",
"nodeType": "YulLiteral",
"src": "6188:4:1",
"type": "",
"value": "0x60"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6177:3:1",
"nodeType": "YulIdentifier",
"src": "6177:3:1"
},
"nativeSrc": "6177:16:1",
"nodeType": "YulFunctionCall",
"src": "6177:16:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "6171:5:1",
"nodeType": "YulIdentifier",
"src": "6171:5:1"
},
"nativeSrc": "6171:23:1",
"nodeType": "YulFunctionCall",
"src": "6171:23:1"
},
"variables": [
{
"name": "memberValue0",
"nativeSrc": "6155:12:1",
"nodeType": "YulTypedName",
"src": "6155:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "memberValue0",
"nativeSrc": "6241:12:1",
"nodeType": "YulIdentifier",
"src": "6241:12:1"
},
{
"arguments": [
{
"name": "pos",
"nativeSrc": "6259:3:1",
"nodeType": "YulIdentifier",
"src": "6259:3:1"
},
{
"kind": "number",
"nativeSrc": "6264:4:1",
"nodeType": "YulLiteral",
"src": "6264:4:1",
"type": "",
"value": "0x60"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6255:3:1",
"nodeType": "YulIdentifier",
"src": "6255:3:1"
},
"nativeSrc": "6255:14:1",
"nodeType": "YulFunctionCall",
"src": "6255:14:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256",
"nativeSrc": "6207:33:1",
"nodeType": "YulIdentifier",
"src": "6207:33:1"
},
"nativeSrc": "6207:63:1",
"nodeType": "YulFunctionCall",
"src": "6207:63:1"
},
"nativeSrc": "6207:63:1",
"nodeType": "YulExpressionStatement",
"src": "6207:63:1"
}
]
},
{
"nativeSrc": "6290:165:1",
"nodeType": "YulBlock",
"src": "6290:165:1",
"statements": [
{
"nativeSrc": "6326:43:1",
"nodeType": "YulVariableDeclaration",
"src": "6326:43:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "6356:5:1",
"nodeType": "YulIdentifier",
"src": "6356:5:1"
},
{
"kind": "number",
"nativeSrc": "6363:4:1",
"nodeType": "YulLiteral",
"src": "6363:4:1",
"type": "",
"value": "0x80"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6352:3:1",
"nodeType": "YulIdentifier",
"src": "6352:3:1"
},
"nativeSrc": "6352:16:1",
"nodeType": "YulFunctionCall",
"src": "6352:16:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "6346:5:1",
"nodeType": "YulIdentifier",
"src": "6346:5:1"
},
"nativeSrc": "6346:23:1",
"nodeType": "YulFunctionCall",
"src": "6346:23:1"
},
"variables": [
{
"name": "memberValue0",
"nativeSrc": "6330:12:1",
"nodeType": "YulTypedName",
"src": "6330:12:1",
"type": ""
}
]
},
{
"expression": {
"arguments": [
{
"name": "memberValue0",
"nativeSrc": "6416:12:1",
"nodeType": "YulIdentifier",
"src": "6416:12:1"
},
{
"arguments": [
{
"name": "pos",
"nativeSrc": "6434:3:1",
"nodeType": "YulIdentifier",
"src": "6434:3:1"
},
{
"kind": "number",
"nativeSrc": "6439:4:1",
"nodeType": "YulLiteral",
"src": "6439:4:1",
"type": "",
"value": "0x80"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6430:3:1",
"nodeType": "YulIdentifier",
"src": "6430:3:1"
},
"nativeSrc": "6430:14:1",
"nodeType": "YulFunctionCall",
"src": "6430:14:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256",
"nativeSrc": "6382:33:1",
"nodeType": "YulIdentifier",
"src": "6382:33:1"
},
"nativeSrc": "6382:63:1",
"nodeType": "YulFunctionCall",
"src": "6382:63:1"
},
"nativeSrc": "6382:63:1",
"nodeType": "YulExpressionStatement",
"src": "6382:63:1"
}
]
},
{
"nativeSrc": "6465:11:1",
"nodeType": "YulAssignment",
"src": "6465:11:1",
"value": {
"name": "tail",
"nativeSrc": "6472:4:1",
"nodeType": "YulIdentifier",
"src": "6472:4:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "6465:3:1",
"nodeType": "YulIdentifier",
"src": "6465:3:1"
}
]
}
]
},
"name": "abi_encode_t_struct$_Tweet_$15_memory_ptr_to_t_struct$_Tweet_$15_memory_ptr",
"nativeSrc": "5363:1119:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "5448:5:1",
"nodeType": "YulTypedName",
"src": "5448:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "5455:3:1",
"nodeType": "YulTypedName",
"src": "5455:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "5464:3:1",
"nodeType": "YulTypedName",
"src": "5464:3:1",
"type": ""
}
],
"src": "5363:1119:1"
},
{
"body": {
"nativeSrc": "6610:118:1",
"nodeType": "YulBlock",
"src": "6610:118:1",
"statements": [
{
"nativeSrc": "6620:102:1",
"nodeType": "YulAssignment",
"src": "6620:102:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "6710:6:1",
"nodeType": "YulIdentifier",
"src": "6710:6:1"
},
{
"name": "pos",
"nativeSrc": "6718:3:1",
"nodeType": "YulIdentifier",
"src": "6718:3:1"
}
],
"functionName": {
"name": "abi_encode_t_struct$_Tweet_$15_memory_ptr_to_t_struct$_Tweet_$15_memory_ptr",
"nativeSrc": "6634:75:1",
"nodeType": "YulIdentifier",
"src": "6634:75:1"
},
"nativeSrc": "6634:88:1",
"nodeType": "YulFunctionCall",
"src": "6634:88:1"
},
"variableNames": [
{
"name": "updatedPos",
"nativeSrc": "6620:10:1",
"nodeType": "YulIdentifier",
"src": "6620:10:1"
}
]
}
]
},
"name": "abi_encodeUpdatedPos_t_struct$_Tweet_$15_memory_ptr_to_t_struct$_Tweet_$15_memory_ptr",
"nativeSrc": "6488:240:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value0",
"nativeSrc": "6583:6:1",
"nodeType": "YulTypedName",
"src": "6583:6:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "6591:3:1",
"nodeType": "YulTypedName",
"src": "6591:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "updatedPos",
"nativeSrc": "6599:10:1",
"nodeType": "YulTypedName",
"src": "6599:10:1",
"type": ""
}
],
"src": "6488:240:1"
},
{
"body": {
"nativeSrc": "6830:38:1",
"nodeType": "YulBlock",
"src": "6830:38:1",
"statements": [
{
"nativeSrc": "6840:22:1",
"nodeType": "YulAssignment",
"src": "6840:22:1",
"value": {
"arguments": [
{
"name": "ptr",
"nativeSrc": "6852:3:1",
"nodeType": "YulIdentifier",
"src": "6852:3:1"
},
{
"kind": "number",
"nativeSrc": "6857:4:1",
"nodeType": "YulLiteral",
"src": "6857:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "6848:3:1",
"nodeType": "YulIdentifier",
"src": "6848:3:1"
},
"nativeSrc": "6848:14:1",
"nodeType": "YulFunctionCall",
"src": "6848:14:1"
},
"variableNames": [
{
"name": "next",
"nativeSrc": "6840:4:1",
"nodeType": "YulIdentifier",
"src": "6840:4:1"
}
]
}
]
},
"name": "array_nextElement_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr",
"nativeSrc": "6734:134:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "ptr",
"nativeSrc": "6817:3:1",
"nodeType": "YulTypedName",
"src": "6817:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "next",
"nativeSrc": "6825:4:1",
"nodeType": "YulTypedName",
"src": "6825:4:1",
"type": ""
}
],
"src": "6734:134:1"
},
{
"body": {
"nativeSrc": "7096:913:1",
"nodeType": "YulBlock",
"src": "7096:913:1",
"statements": [
{
"nativeSrc": "7106:89:1",
"nodeType": "YulVariableDeclaration",
"src": "7106:89:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "7189:5:1",
"nodeType": "YulIdentifier",
"src": "7189:5:1"
}
],
"functionName": {
"name": "array_length_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr",
"nativeSrc": "7120:68:1",
"nodeType": "YulIdentifier",
"src": "7120:68:1"
},
"nativeSrc": "7120:75:1",
"nodeType": "YulFunctionCall",
"src": "7120:75:1"
},
"variables": [
{
"name": "length",
"nativeSrc": "7110:6:1",
"nodeType": "YulTypedName",
"src": "7110:6:1",
"type": ""
}
]
},
{
"nativeSrc": "7204:114:1",
"nodeType": "YulAssignment",
"src": "7204:114:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "7306:3:1",
"nodeType": "YulIdentifier",
"src": "7306:3:1"
},
{
"name": "length",
"nativeSrc": "7311:6:1",
"nodeType": "YulIdentifier",
"src": "7311:6:1"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr_fromStack",
"nativeSrc": "7211:94:1",
"nodeType": "YulIdentifier",
"src": "7211:94:1"
},
"nativeSrc": "7211:107:1",
"nodeType": "YulFunctionCall",
"src": "7211:107:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "7204:3:1",
"nodeType": "YulIdentifier",
"src": "7204:3:1"
}
]
},
{
"nativeSrc": "7327:20:1",
"nodeType": "YulVariableDeclaration",
"src": "7327:20:1",
"value": {
"name": "pos",
"nativeSrc": "7344:3:1",
"nodeType": "YulIdentifier",
"src": "7344:3:1"
},
"variables": [
{
"name": "headStart",
"nativeSrc": "7331:9:1",
"nodeType": "YulTypedName",
"src": "7331:9:1",
"type": ""
}
]
},
{
"nativeSrc": "7356:39:1",
"nodeType": "YulVariableDeclaration",
"src": "7356:39:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "7372:3:1",
"nodeType": "YulIdentifier",
"src": "7372:3:1"
},
{
"arguments": [
{
"name": "length",
"nativeSrc": "7381:6:1",
"nodeType": "YulIdentifier",
"src": "7381:6:1"
},
{
"kind": "number",
"nativeSrc": "7389:4:1",
"nodeType": "YulLiteral",
"src": "7389:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "mul",
"nativeSrc": "7377:3:1",
"nodeType": "YulIdentifier",
"src": "7377:3:1"
},
"nativeSrc": "7377:17:1",
"nodeType": "YulFunctionCall",
"src": "7377:17:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7368:3:1",
"nodeType": "YulIdentifier",
"src": "7368:3:1"
},
"nativeSrc": "7368:27:1",
"nodeType": "YulFunctionCall",
"src": "7368:27:1"
},
"variables": [
{
"name": "tail",
"nativeSrc": "7360:4:1",
"nodeType": "YulTypedName",
"src": "7360:4:1",
"type": ""
}
]
},
{
"nativeSrc": "7404:92:1",
"nodeType": "YulVariableDeclaration",
"src": "7404:92:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "7490:5:1",
"nodeType": "YulIdentifier",
"src": "7490:5:1"
}
],
"functionName": {
"name": "array_dataslot_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr",
"nativeSrc": "7419:70:1",
"nodeType": "YulIdentifier",
"src": "7419:70:1"
},
"nativeSrc": "7419:77:1",
"nodeType": "YulFunctionCall",
"src": "7419:77:1"
},
"variables": [
{
"name": "baseRef",
"nativeSrc": "7408:7:1",
"nodeType": "YulTypedName",
"src": "7408:7:1",
"type": ""
}
]
},
{
"nativeSrc": "7505:21:1",
"nodeType": "YulVariableDeclaration",
"src": "7505:21:1",
"value": {
"name": "baseRef",
"nativeSrc": "7519:7:1",
"nodeType": "YulIdentifier",
"src": "7519:7:1"
},
"variables": [
{
"name": "srcPtr",
"nativeSrc": "7509:6:1",
"nodeType": "YulTypedName",
"src": "7509:6:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "7595:369:1",
"nodeType": "YulBlock",
"src": "7595:369:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "7616:3:1",
"nodeType": "YulIdentifier",
"src": "7616:3:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "7625:4:1",
"nodeType": "YulIdentifier",
"src": "7625:4:1"
},
{
"name": "headStart",
"nativeSrc": "7631:9:1",
"nodeType": "YulIdentifier",
"src": "7631:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "7621:3:1",
"nodeType": "YulIdentifier",
"src": "7621:3:1"
},
"nativeSrc": "7621:20:1",
"nodeType": "YulFunctionCall",
"src": "7621:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "7609:6:1",
"nodeType": "YulIdentifier",
"src": "7609:6:1"
},
"nativeSrc": "7609:33:1",
"nodeType": "YulFunctionCall",
"src": "7609:33:1"
},
"nativeSrc": "7609:33:1",
"nodeType": "YulExpressionStatement",
"src": "7609:33:1"
},
{
"nativeSrc": "7655:34:1",
"nodeType": "YulVariableDeclaration",
"src": "7655:34:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nativeSrc": "7682:6:1",
"nodeType": "YulIdentifier",
"src": "7682:6:1"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "7676:5:1",
"nodeType": "YulIdentifier",
"src": "7676:5:1"
},
"nativeSrc": "7676:13:1",
"nodeType": "YulFunctionCall",
"src": "7676:13:1"
},
"variables": [
{
"name": "elementValue0",
"nativeSrc": "7659:13:1",
"nodeType": "YulTypedName",
"src": "7659:13:1",
"type": ""
}
]
},
{
"nativeSrc": "7702:114:1",
"nodeType": "YulAssignment",
"src": "7702:114:1",
"value": {
"arguments": [
{
"name": "elementValue0",
"nativeSrc": "7796:13:1",
"nodeType": "YulIdentifier",
"src": "7796:13:1"
},
{
"name": "tail",
"nativeSrc": "7811:4:1",
"nodeType": "YulIdentifier",
"src": "7811:4:1"
}
],
"functionName": {
"name": "abi_encodeUpdatedPos_t_struct$_Tweet_$15_memory_ptr_to_t_struct$_Tweet_$15_memory_ptr",
"nativeSrc": "7710:85:1",
"nodeType": "YulIdentifier",
"src": "7710:85:1"
},
"nativeSrc": "7710:106:1",
"nodeType": "YulFunctionCall",
"src": "7710:106:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "7702:4:1",
"nodeType": "YulIdentifier",
"src": "7702:4:1"
}
]
},
{
"nativeSrc": "7829:91:1",
"nodeType": "YulAssignment",
"src": "7829:91:1",
"value": {
"arguments": [
{
"name": "srcPtr",
"nativeSrc": "7913:6:1",
"nodeType": "YulIdentifier",
"src": "7913:6:1"
}
],
"functionName": {
"name": "array_nextElement_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr",
"nativeSrc": "7839:73:1",
"nodeType": "YulIdentifier",
"src": "7839:73:1"
},
"nativeSrc": "7839:81:1",
"nodeType": "YulFunctionCall",
"src": "7839:81:1"
},
"variableNames": [
{
"name": "srcPtr",
"nativeSrc": "7829:6:1",
"nodeType": "YulIdentifier",
"src": "7829:6:1"
}
]
},
{
"nativeSrc": "7933:21:1",
"nodeType": "YulAssignment",
"src": "7933:21:1",
"value": {
"arguments": [
{
"name": "pos",
"nativeSrc": "7944:3:1",
"nodeType": "YulIdentifier",
"src": "7944:3:1"
},
{
"kind": "number",
"nativeSrc": "7949:4:1",
"nodeType": "YulLiteral",
"src": "7949:4:1",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7940:3:1",
"nodeType": "YulIdentifier",
"src": "7940:3:1"
},
"nativeSrc": "7940:14:1",
"nodeType": "YulFunctionCall",
"src": "7940:14:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "7933:3:1",
"nodeType": "YulIdentifier",
"src": "7933:3:1"
}
]
}
]
},
"condition": {
"arguments": [
{
"name": "i",
"nativeSrc": "7557:1:1",
"nodeType": "YulIdentifier",
"src": "7557:1:1"
},
{
"name": "length",
"nativeSrc": "7560:6:1",
"nodeType": "YulIdentifier",
"src": "7560:6:1"
}
],
"functionName": {
"name": "lt",
"nativeSrc": "7554:2:1",
"nodeType": "YulIdentifier",
"src": "7554:2:1"
},
"nativeSrc": "7554:13:1",
"nodeType": "YulFunctionCall",
"src": "7554:13:1"
},
"nativeSrc": "7535:429:1",
"nodeType": "YulForLoop",
"post": {
"nativeSrc": "7568:18:1",
"nodeType": "YulBlock",
"src": "7568:18:1",
"statements": [
{
"nativeSrc": "7570:14:1",
"nodeType": "YulAssignment",
"src": "7570:14:1",
"value": {
"arguments": [
{
"name": "i",
"nativeSrc": "7579:1:1",
"nodeType": "YulIdentifier",
"src": "7579:1:1"
},
{
"kind": "number",
"nativeSrc": "7582:1:1",
"nodeType": "YulLiteral",
"src": "7582:1:1",
"type": "",
"value": "1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7575:3:1",
"nodeType": "YulIdentifier",
"src": "7575:3:1"
},
"nativeSrc": "7575:9:1",
"nodeType": "YulFunctionCall",
"src": "7575:9:1"
},
"variableNames": [
{
"name": "i",
"nativeSrc": "7570:1:1",
"nodeType": "YulIdentifier",
"src": "7570:1:1"
}
]
}
]
},
"pre": {
"nativeSrc": "7539:14:1",
"nodeType": "YulBlock",
"src": "7539:14:1",
"statements": [
{
"nativeSrc": "7541:10:1",
"nodeType": "YulVariableDeclaration",
"src": "7541:10:1",
"value": {
"kind": "number",
"nativeSrc": "7550:1:1",
"nodeType": "YulLiteral",
"src": "7550:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "i",
"nativeSrc": "7545:1:1",
"nodeType": "YulTypedName",
"src": "7545:1:1",
"type": ""
}
]
}
]
},
"src": "7535:429:1"
},
{
"nativeSrc": "7973:11:1",
"nodeType": "YulAssignment",
"src": "7973:11:1",
"value": {
"name": "tail",
"nativeSrc": "7980:4:1",
"nodeType": "YulIdentifier",
"src": "7980:4:1"
},
"variableNames": [
{
"name": "pos",
"nativeSrc": "7973:3:1",
"nodeType": "YulIdentifier",
"src": "7973:3:1"
}
]
},
{
"nativeSrc": "7993:10:1",
"nodeType": "YulAssignment",
"src": "7993:10:1",
"value": {
"name": "pos",
"nativeSrc": "8000:3:1",
"nodeType": "YulIdentifier",
"src": "8000:3:1"
},
"variableNames": [
{
"name": "end",
"nativeSrc": "7993:3:1",
"nodeType": "YulIdentifier",
"src": "7993:3:1"
}
]
}
]
},
"name": "abi_encode_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr_fromStack",
"nativeSrc": "6930:1079:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "7075:5:1",
"nodeType": "YulTypedName",
"src": "7075:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "7082:3:1",
"nodeType": "YulTypedName",
"src": "7082:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nativeSrc": "7091:3:1",
"nodeType": "YulTypedName",
"src": "7091:3:1",
"type": ""
}
],
"src": "6930:1079:1"
},
{
"body": {
"nativeSrc": "8205:267:1",
"nodeType": "YulBlock",
"src": "8205:267:1",
"statements": [
{
"nativeSrc": "8215:26:1",
"nodeType": "YulAssignment",
"src": "8215:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "8227:9:1",
"nodeType": "YulIdentifier",
"src": "8227:9:1"
},
{
"kind": "number",
"nativeSrc": "8238:2:1",
"nodeType": "YulLiteral",
"src": "8238:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8223:3:1",
"nodeType": "YulIdentifier",
"src": "8223:3:1"
},
"nativeSrc": "8223:18:1",
"nodeType": "YulFunctionCall",
"src": "8223:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "8215:4:1",
"nodeType": "YulIdentifier",
"src": "8215:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "8262:9:1",
"nodeType": "YulIdentifier",
"src": "8262:9:1"
},
{
"kind": "number",
"nativeSrc": "8273:1:1",
"nodeType": "YulLiteral",
"src": "8273:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "8258:3:1",
"nodeType": "YulIdentifier",
"src": "8258:3:1"
},
"nativeSrc": "8258:17:1",
"nodeType": "YulFunctionCall",
"src": "8258:17:1"
},
{
"arguments": [
{
"name": "tail",
"nativeSrc": "8281:4:1",
"nodeType": "YulIdentifier",
"src": "8281:4:1"
},
{
"name": "headStart",
"nativeSrc": "8287:9:1",
"nodeType": "YulIdentifier",
"src": "8287:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "8277:3:1",
"nodeType": "YulIdentifier",
"src": "8277:3:1"
},
"nativeSrc": "8277:20:1",
"nodeType": "YulFunctionCall",
"src": "8277:20:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "8251:6:1",
"nodeType": "YulIdentifier",
"src": "8251:6:1"
},
"nativeSrc": "8251:47:1",
"nodeType": "YulFunctionCall",
"src": "8251:47:1"
},
"nativeSrc": "8251:47:1",
"nodeType": "YulExpressionStatement",
"src": "8251:47:1"
},
{
"nativeSrc": "8307:158:1",
"nodeType": "YulAssignment",
"src": "8307:158:1",
"value": {
"arguments": [
{
"name": "value0",
"nativeSrc": "8451:6:1",
"nodeType": "YulIdentifier",
"src": "8451:6:1"
},
{
"name": "tail",
"nativeSrc": "8460:4:1",
"nodeType": "YulIdentifier",
"src": "8460:4:1"
}
],
"functionName": {
"name": "abi_encode_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr_fromStack",
"nativeSrc": "8315:135:1",
"nodeType": "YulIdentifier",
"src": "8315:135:1"
},
"nativeSrc": "8315:150:1",
"nodeType": "YulFunctionCall",
"src": "8315:150:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "8307:4:1",
"nodeType": "YulIdentifier",
"src": "8307:4:1"
}
]
}
]
},
"name": "abi_encode_tuple_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_Tweet_$15_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
"nativeSrc": "8015:457:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "8177:9:1",
"nodeType": "YulTypedName",
"src": "8177:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "8189:6:1",
"nodeType": "YulTypedName",
"src": "8189:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "8200:4:1",
"nodeType": "YulTypedName",
"src": "8200:4:1",
"type": ""
}
],
"src": "8015:457:1"
},
{
"body": {
"nativeSrc": "8522:45:1",
"nodeType": "YulBlock",
"src": "8522:45:1",
"statements": [
{
"nativeSrc": "8532:29:1",
"nodeType": "YulAssignment",
"src": "8532:29:1",
"value": {
"arguments": [
{
"name": "value",
"nativeSrc": "8547:5:1",
"nodeType": "YulIdentifier",
"src": "8547:5:1"
},
{
"kind": "number",
"nativeSrc": "8554:6:1",
"nodeType": "YulLiteral",
"src": "8554:6:1",
"type": "",
"value": "0xffff"
}
],
"functionName": {
"name": "and",
"nativeSrc": "8543:3:1",
"nodeType": "YulIdentifier",
"src": "8543:3:1"
},
"nativeSrc": "8543:18:1",
"nodeType": "YulFunctionCall",
"src": "8543:18:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "8532:7:1",
"nodeType": "YulIdentifier",
"src": "8532:7:1"
}
]
}
]
},
"name": "cleanup_t_uint16",
"nativeSrc": "8478:89:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8504:5:1",
"nodeType": "YulTypedName",
"src": "8504:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "8514:7:1",
"nodeType": "YulTypedName",
"src": "8514:7:1",
"type": ""
}
],
"src": "8478:89:1"
},
{
"body": {
"nativeSrc": "8615:78:1",
"nodeType": "YulBlock",
"src": "8615:78:1",
"statements": [
{
"body": {
"nativeSrc": "8671:16:1",
"nodeType": "YulBlock",
"src": "8671:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "8680:1:1",
"nodeType": "YulLiteral",
"src": "8680:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "8683:1:1",
"nodeType": "YulLiteral",
"src": "8683:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "8673:6:1",
"nodeType": "YulIdentifier",
"src": "8673:6:1"
},
"nativeSrc": "8673:12:1",
"nodeType": "YulFunctionCall",
"src": "8673:12:1"
},
"nativeSrc": "8673:12:1",
"nodeType": "YulExpressionStatement",
"src": "8673:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "8638:5:1",
"nodeType": "YulIdentifier",
"src": "8638:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "8662:5:1",
"nodeType": "YulIdentifier",
"src": "8662:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint16",
"nativeSrc": "8645:16:1",
"nodeType": "YulIdentifier",
"src": "8645:16:1"
},
"nativeSrc": "8645:23:1",
"nodeType": "YulFunctionCall",
"src": "8645:23:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "8635:2:1",
"nodeType": "YulIdentifier",
"src": "8635:2:1"
},
"nativeSrc": "8635:34:1",
"nodeType": "YulFunctionCall",
"src": "8635:34:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "8628:6:1",
"nodeType": "YulIdentifier",
"src": "8628:6:1"
},
"nativeSrc": "8628:42:1",
"nodeType": "YulFunctionCall",
"src": "8628:42:1"
},
"nativeSrc": "8625:62:1",
"nodeType": "YulIf",
"src": "8625:62:1"
}
]
},
"name": "validator_revert_t_uint16",
"nativeSrc": "8573:120:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "8608:5:1",
"nodeType": "YulTypedName",
"src": "8608:5:1",
"type": ""
}
],
"src": "8573:120:1"
},
{
"body": {
"nativeSrc": "8750:86:1",
"nodeType": "YulBlock",
"src": "8750:86:1",
"statements": [
{
"nativeSrc": "8760:29:1",
"nodeType": "YulAssignment",
"src": "8760:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "8782:6:1",
"nodeType": "YulIdentifier",
"src": "8782:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "8769:12:1",
"nodeType": "YulIdentifier",
"src": "8769:12:1"
},
"nativeSrc": "8769:20:1",
"nodeType": "YulFunctionCall",
"src": "8769:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "8760:5:1",
"nodeType": "YulIdentifier",
"src": "8760:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "8824:5:1",
"nodeType": "YulIdentifier",
"src": "8824:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint16",
"nativeSrc": "8798:25:1",
"nodeType": "YulIdentifier",
"src": "8798:25:1"
},
"nativeSrc": "8798:32:1",
"nodeType": "YulFunctionCall",
"src": "8798:32:1"
},
"nativeSrc": "8798:32:1",
"nodeType": "YulExpressionStatement",
"src": "8798:32:1"
}
]
},
"name": "abi_decode_t_uint16",
"nativeSrc": "8699:137:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "8728:6:1",
"nodeType": "YulTypedName",
"src": "8728:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "8736:3:1",
"nodeType": "YulTypedName",
"src": "8736:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "8744:5:1",
"nodeType": "YulTypedName",
"src": "8744:5:1",
"type": ""
}
],
"src": "8699:137:1"
},
{
"body": {
"nativeSrc": "8907:262:1",
"nodeType": "YulBlock",
"src": "8907:262:1",
"statements": [
{
"body": {
"nativeSrc": "8953:83:1",
"nodeType": "YulBlock",
"src": "8953:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "8955:77:1",
"nodeType": "YulIdentifier",
"src": "8955:77:1"
},
"nativeSrc": "8955:79:1",
"nodeType": "YulFunctionCall",
"src": "8955:79:1"
},
"nativeSrc": "8955:79:1",
"nodeType": "YulExpressionStatement",
"src": "8955:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "8928:7:1",
"nodeType": "YulIdentifier",
"src": "8928:7:1"
},
{
"name": "headStart",
"nativeSrc": "8937:9:1",
"nodeType": "YulIdentifier",
"src": "8937:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "8924:3:1",
"nodeType": "YulIdentifier",
"src": "8924:3:1"
},
"nativeSrc": "8924:23:1",
"nodeType": "YulFunctionCall",
"src": "8924:23:1"
},
{
"kind": "number",
"nativeSrc": "8949:2:1",
"nodeType": "YulLiteral",
"src": "8949:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "8920:3:1",
"nodeType": "YulIdentifier",
"src": "8920:3:1"
},
"nativeSrc": "8920:32:1",
"nodeType": "YulFunctionCall",
"src": "8920:32:1"
},
"nativeSrc": "8917:119:1",
"nodeType": "YulIf",
"src": "8917:119:1"
},
{
"nativeSrc": "9046:116:1",
"nodeType": "YulBlock",
"src": "9046:116:1",
"statements": [
{
"nativeSrc": "9061:15:1",
"nodeType": "YulVariableDeclaration",
"src": "9061:15:1",
"value": {
"kind": "number",
"nativeSrc": "9075:1:1",
"nodeType": "YulLiteral",
"src": "9075:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "9065:6:1",
"nodeType": "YulTypedName",
"src": "9065:6:1",
"type": ""
}
]
},
{
"nativeSrc": "9090:62:1",
"nodeType": "YulAssignment",
"src": "9090:62:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9124:9:1",
"nodeType": "YulIdentifier",
"src": "9124:9:1"
},
{
"name": "offset",
"nativeSrc": "9135:6:1",
"nodeType": "YulIdentifier",
"src": "9135:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9120:3:1",
"nodeType": "YulIdentifier",
"src": "9120:3:1"
},
"nativeSrc": "9120:22:1",
"nodeType": "YulFunctionCall",
"src": "9120:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "9144:7:1",
"nodeType": "YulIdentifier",
"src": "9144:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint16",
"nativeSrc": "9100:19:1",
"nodeType": "YulIdentifier",
"src": "9100:19:1"
},
"nativeSrc": "9100:52:1",
"nodeType": "YulFunctionCall",
"src": "9100:52:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "9090:6:1",
"nodeType": "YulIdentifier",
"src": "9090:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint16",
"nativeSrc": "8842:327:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "8877:9:1",
"nodeType": "YulTypedName",
"src": "8877:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "8888:7:1",
"nodeType": "YulTypedName",
"src": "8888:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "8900:6:1",
"nodeType": "YulTypedName",
"src": "8900:6:1",
"type": ""
}
],
"src": "8842:327:1"
},
{
"body": {
"nativeSrc": "9238:52:1",
"nodeType": "YulBlock",
"src": "9238:52:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "9255:3:1",
"nodeType": "YulIdentifier",
"src": "9255:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "9277:5:1",
"nodeType": "YulIdentifier",
"src": "9277:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint16",
"nativeSrc": "9260:16:1",
"nodeType": "YulIdentifier",
"src": "9260:16:1"
},
"nativeSrc": "9260:23:1",
"nodeType": "YulFunctionCall",
"src": "9260:23:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "9248:6:1",
"nodeType": "YulIdentifier",
"src": "9248:6:1"
},
"nativeSrc": "9248:36:1",
"nodeType": "YulFunctionCall",
"src": "9248:36:1"
},
"nativeSrc": "9248:36:1",
"nodeType": "YulExpressionStatement",
"src": "9248:36:1"
}
]
},
"name": "abi_encode_t_uint16_to_t_uint16_fromStack",
"nativeSrc": "9175:115:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "9226:5:1",
"nodeType": "YulTypedName",
"src": "9226:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "9233:3:1",
"nodeType": "YulTypedName",
"src": "9233:3:1",
"type": ""
}
],
"src": "9175:115:1"
},
{
"body": {
"nativeSrc": "9392:122:1",
"nodeType": "YulBlock",
"src": "9392:122:1",
"statements": [
{
"nativeSrc": "9402:26:1",
"nodeType": "YulAssignment",
"src": "9402:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "9414:9:1",
"nodeType": "YulIdentifier",
"src": "9414:9:1"
},
{
"kind": "number",
"nativeSrc": "9425:2:1",
"nodeType": "YulLiteral",
"src": "9425:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9410:3:1",
"nodeType": "YulIdentifier",
"src": "9410:3:1"
},
"nativeSrc": "9410:18:1",
"nodeType": "YulFunctionCall",
"src": "9410:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "9402:4:1",
"nodeType": "YulIdentifier",
"src": "9402:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "9480:6:1",
"nodeType": "YulIdentifier",
"src": "9480:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "9493:9:1",
"nodeType": "YulIdentifier",
"src": "9493:9:1"
},
{
"kind": "number",
"nativeSrc": "9504:1:1",
"nodeType": "YulLiteral",
"src": "9504:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "9489:3:1",
"nodeType": "YulIdentifier",
"src": "9489:3:1"
},
"nativeSrc": "9489:17:1",
"nodeType": "YulFunctionCall",
"src": "9489:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint16_to_t_uint16_fromStack",
"nativeSrc": "9438:41:1",
"nodeType": "YulIdentifier",
"src": "9438:41:1"
},
"nativeSrc": "9438:69:1",
"nodeType": "YulFunctionCall",
"src": "9438:69:1"
},
"nativeSrc": "9438:69:1",
"nodeType": "YulExpressionStatement",
"src": "9438:69:1"
}
]
},
"name": "abi_encode_tuple_t_uint16__to_t_uint16__fromStack_reversed",
"nativeSrc": "9296:218:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "9364:9:1",
"nodeType": "YulTypedName",
"src": "9364:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "9376:6:1",
"nodeType": "YulTypedName",
"src": "9376:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "9387:4:1",
"nodeType": "YulTypedName",
"src": "9387:4:1",
"type": ""
}
],
"src": "9296:218:1"
},
{
"body": {
"nativeSrc": "9609:28:1",
"nodeType": "YulBlock",
"src": "9609:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9626:1:1",
"nodeType": "YulLiteral",
"src": "9626:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "9629:1:1",
"nodeType": "YulLiteral",
"src": "9629:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "9619:6:1",
"nodeType": "YulIdentifier",
"src": "9619:6:1"
},
"nativeSrc": "9619:12:1",
"nodeType": "YulFunctionCall",
"src": "9619:12:1"
},
"nativeSrc": "9619:12:1",
"nodeType": "YulExpressionStatement",
"src": "9619:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "9520:117:1",
"nodeType": "YulFunctionDefinition",
"src": "9520:117:1"
},
{
"body": {
"nativeSrc": "9732:28:1",
"nodeType": "YulBlock",
"src": "9732:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9749:1:1",
"nodeType": "YulLiteral",
"src": "9749:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "9752:1:1",
"nodeType": "YulLiteral",
"src": "9752:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "9742:6:1",
"nodeType": "YulIdentifier",
"src": "9742:6:1"
},
"nativeSrc": "9742:12:1",
"nodeType": "YulFunctionCall",
"src": "9742:12:1"
},
"nativeSrc": "9742:12:1",
"nodeType": "YulExpressionStatement",
"src": "9742:12:1"
}
]
},
"name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae",
"nativeSrc": "9643:117:1",
"nodeType": "YulFunctionDefinition",
"src": "9643:117:1"
},
{
"body": {
"nativeSrc": "9794:152:1",
"nodeType": "YulBlock",
"src": "9794:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9811:1:1",
"nodeType": "YulLiteral",
"src": "9811:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "9814:77:1",
"nodeType": "YulLiteral",
"src": "9814:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "9804:6:1",
"nodeType": "YulIdentifier",
"src": "9804:6:1"
},
"nativeSrc": "9804:88:1",
"nodeType": "YulFunctionCall",
"src": "9804:88:1"
},
"nativeSrc": "9804:88:1",
"nodeType": "YulExpressionStatement",
"src": "9804:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9908:1:1",
"nodeType": "YulLiteral",
"src": "9908:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "9911:4:1",
"nodeType": "YulLiteral",
"src": "9911:4:1",
"type": "",
"value": "0x41"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "9901:6:1",
"nodeType": "YulIdentifier",
"src": "9901:6:1"
},
"nativeSrc": "9901:15:1",
"nodeType": "YulFunctionCall",
"src": "9901:15:1"
},
"nativeSrc": "9901:15:1",
"nodeType": "YulExpressionStatement",
"src": "9901:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "9932:1:1",
"nodeType": "YulLiteral",
"src": "9932:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "9935:4:1",
"nodeType": "YulLiteral",
"src": "9935:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "9925:6:1",
"nodeType": "YulIdentifier",
"src": "9925:6:1"
},
"nativeSrc": "9925:15:1",
"nodeType": "YulFunctionCall",
"src": "9925:15:1"
},
"nativeSrc": "9925:15:1",
"nodeType": "YulExpressionStatement",
"src": "9925:15:1"
}
]
},
"name": "panic_error_0x41",
"nativeSrc": "9766:180:1",
"nodeType": "YulFunctionDefinition",
"src": "9766:180:1"
},
{
"body": {
"nativeSrc": "9995:238:1",
"nodeType": "YulBlock",
"src": "9995:238:1",
"statements": [
{
"nativeSrc": "10005:58:1",
"nodeType": "YulVariableDeclaration",
"src": "10005:58:1",
"value": {
"arguments": [
{
"name": "memPtr",
"nativeSrc": "10027:6:1",
"nodeType": "YulIdentifier",
"src": "10027:6:1"
},
{
"arguments": [
{
"name": "size",
"nativeSrc": "10057:4:1",
"nodeType": "YulIdentifier",
"src": "10057:4:1"
}
],
"functionName": {
"name": "round_up_to_mul_of_32",
"nativeSrc": "10035:21:1",
"nodeType": "YulIdentifier",
"src": "10035:21:1"
},
"nativeSrc": "10035:27:1",
"nodeType": "YulFunctionCall",
"src": "10035:27:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "10023:3:1",
"nodeType": "YulIdentifier",
"src": "10023:3:1"
},
"nativeSrc": "10023:40:1",
"nodeType": "YulFunctionCall",
"src": "10023:40:1"
},
"variables": [
{
"name": "newFreePtr",
"nativeSrc": "10009:10:1",
"nodeType": "YulTypedName",
"src": "10009:10:1",
"type": ""
}
]
},
{
"body": {
"nativeSrc": "10174:22:1",
"nodeType": "YulBlock",
"src": "10174:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x41",
"nativeSrc": "10176:16:1",
"nodeType": "YulIdentifier",
View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment