{
  "contractName": "WitPriceFeedsLegacyDataLib",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "range",
          "type": "uint256"
        }
      ],
      "name": "IndexOutOfBounds",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "InvalidLengthEncoding",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "read",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "expected",
          "type": "uint256"
        }
      ],
      "name": "UnexpectedMajorType",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "WitFeedDeleted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "WitFeedSettled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "string",
          "name": "caption",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "solver",
          "type": "address"
        }
      ],
      "name": "WitFeedSolverSettled",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "contract IWitOracleQueriable",
          "name": "witOracle",
          "type": "IWitOracleQueriable"
        },
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestPrice",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint64",
              "name": "value",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus",
              "name": "latestStatus",
              "type": "IWitPriceFeedsLegacySolver.LatestUpdateStatus"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacySolver.Price",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "supportedFeeds",
      "outputs": [
        {
          "internalType": "bytes4[]",
          "name": "_ids",
          "type": "bytes4[]"
        },
        {
          "internalType": "string[]",
          "name": "_captions",
          "type": "string[]"
        },
        {
          "internalType": "bytes32[]",
          "name": "_solvers",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "initcode",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "constructorParams",
          "type": "bytes"
        }
      ],
      "name": "determinePriceSolverAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "caption",
          "type": "string"
        }
      ],
      "name": "validateCaption",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"range\",\"type\":\"uint256\"}],\"name\":\"IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidLengthEncoding\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"read\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"}],\"name\":\"UnexpectedMajorType\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"WitFeedDeleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"radHash\",\"type\":\"bytes32\"}],\"name\":\"WitFeedSettled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"solver\",\"type\":\"address\"}],\"name\":\"WitFeedSolverSettled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initcode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"constructorParams\",\"type\":\"bytes\"}],\"name\":\"determinePriceSolverAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IWitOracleQueriable\",\"name\":\"witOracle\",\"type\":\"IWitOracleQueriable\"},{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"value\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum IWitPriceFeedsLegacySolver.LatestUpdateStatus\",\"name\":\"latestStatus\",\"type\":\"IWitPriceFeedsLegacySolver.LatestUpdateStatus\"}],\"internalType\":\"struct IWitPriceFeedsLegacySolver.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supportedFeeds\",\"outputs\":[{\"internalType\":\"bytes4[]\",\"name\":\"_ids\",\"type\":\"bytes4[]\"},{\"internalType\":\"string[]\",\"name\":\"_captions\",\"type\":\"string[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"_solvers\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"}],\"name\":\"validateCaption\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"WitPriceFeedsLegacy data model.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/data/WitPriceFeedsLegacyDataLib.sol\":\"WitPriceFeedsLegacyDataLib\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/WitOracle.sol\":{\"keccak256\":\"0x7f20eab15140df459753dfa8e406b826918b56ebe2c46456f9d04345c02629d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0573ce3d48200c71d8235a1a8c055b706420b2037bd21336f3c61713c3b8349\",\"dweb:/ipfs/QmY7BnVaNXFtJs1BFdeaa7dQfvUVoZyfwtv9HuToCxUUHU\"]},\"project:/contracts/data/WitPriceFeedsLegacyDataLib.sol\":{\"keccak256\":\"0xd4eab3434b51c88c628faa9ff042122762f40d082002b0c1e8ccd167635452e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dc424d929cb930bb3f5da94117ab284b2b6062337e55d5a49034b4a8158fd22\",\"dweb:/ipfs/QmPXeUcbtSKK8gApymg7wwKSqRY3mMDB8RS643vofWCeMo\"]},\"project:/contracts/interfaces/IWitAppliance.sol\":{\"keccak256\":\"0xd207ca54a1049445a3d99eea497d9b34c6dbdd44d771eee825e4c031bd2f447e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f81de32d868ff2881ed6fe97cc897e40b4b11d23cbe53a0e23cf3e68f9c0f0a3\",\"dweb:/ipfs/QmeeXmzmK5MAzt7Hf5DB2L81efKtTzZg9VbQ8sUiTqEk5c\"]},\"project:/contracts/interfaces/IWitOracle.sol\":{\"keccak256\":\"0x26cbe2074c0b3f545a46d95fad5e2280b67edcd958e4ae0b88f3a018aa11b805\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5324bac61f65e3edb01c88b9b75ca17affd593be88da5753a93b3f5304d3f479\",\"dweb:/ipfs/QmcVmNV6smbFiPaxvuN8ShkqbDZsT1wfjnF7f3qs6ke7QG\"]},\"project:/contracts/interfaces/IWitOracleAppliance.sol\":{\"keccak256\":\"0xcd8e57eca7f8042c85a83264e2ff6d1cd7a9f1521831736d7f57bcc7800642e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c639668e9439d60770b5df77436088ae7bd0aeb1d1be446552a98b6c29138f0\",\"dweb:/ipfs/QmbN3f5YuKMSd2j9tjay3VEkiYibGWpbfbwRNyrxA8k4o4\"]},\"project:/contracts/interfaces/IWitOracleQueriable.sol\":{\"keccak256\":\"0xdb0da1e377a35a7d620f43cb583a876750a52d91da2b888f48042483ad9c4910\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://edfcdf3e96ec3c5de7438f82e3d5a1dc9af9eb29080044213dccb26ff978354c\",\"dweb:/ipfs/Qmap2FzSysh2fug88eortbsTM7itFygRzKc9HfV43ePMik\"]},\"project:/contracts/interfaces/IWitOracleQueriableEvents.sol\":{\"keccak256\":\"0x47c283e931006d35bd2599524f86724e45eae6fad2fdd9cdecd1c85a90ff3f8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ad0520f99ec9298536ae9434f58caeb470c10dd3eaab1e4c7ed4cae9a97e2a2\",\"dweb:/ipfs/QmSuYCsSPweZfQc5Fbf9jYDdx4u7gwYCUdjhpcrrxmWZy6\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"project:/contracts/interfaces/legacy/IWitOracleLegacy.sol\":{\"keccak256\":\"0xd2929c9aa5a02d261d6d1a068a6b7231ae58d8f81f081ba89f2d3267a31fbbb5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://956b26323a02cf400c32012586954fc5dbc98b4d5b7a8b0533401cbda8619059\",\"dweb:/ipfs/QmSWdCRwL5t3atFM8osdaohLTqEEmY1FbnR6xrRCmw1GDM\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequest.sol\":{\"keccak256\":\"0x0fb3f0ba03f4f7a0214ecb36df26525564cf51a8a2176cba92c185af8a1d419e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://340b7bdb92c3259519fe120eb3061b393e7a5e9c1b576a2fe4eab020af466b64\",\"dweb:/ipfs/QmRt4wMX9WdxFwfdFMUZ3zKMAW1grS7qLk1x1PDMJdEAVU\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequestTemplate.sol\":{\"keccak256\":\"0x9e065ef5880c64eefff5fcfb1347fde6684e0e311f8c2350a6aefdbd1f8b0f22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://817de760c7cce9d00dcd4312aea6434d88abddf1c0e68ea7e8fb1e6c5165a445\",\"dweb:/ipfs/QmUNmtn85nFXbje2nRJQY2h65KJCVinDMMU6P2jQmo1Nij\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacy.sol\":{\"keccak256\":\"0x13222d4ec5a538477e792ff63338a12db2c0071d81a61aad7a046ad2880cefd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f564e6a69264f7e0679525022978f9833a0f1273ef606e554c2a18ba964d13\",\"dweb:/ipfs/QmaAVfsvnJQvYwdsnYSXAnbJWopp15PR3atXxCwZS3AANC\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacyAdmin.sol\":{\"keccak256\":\"0x2a2a422478348acb0ced6e76dbc14dacbfec95833f874ecb588718523117fb0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dcb6d3802e68441cb944f69ae5ba0e00b9ca82ad97f9adfaff5ffd44e0a6aae2\",\"dweb:/ipfs/QmYFvuGH6cUwhW67thWDMLfNcenicKcMgicLTnNAG4LHM7\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacySolver.sol\":{\"keccak256\":\"0x9543c5a64bbd38a3d1af6d00badda31c8c1fc90412efc7894023277e1e6b7490\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab133acd1c20af1f676bf17017c77e4918338fdbad764660e42d892a5f412eaf\",\"dweb:/ipfs/QmeQFGuv3jm46R4bux8NaW56SbFWHvvBNCqFzfafgtWi1W\"]},\"project:/contracts/libs/Bech32.sol\":{\"keccak256\":\"0x14618323a0efe7586c20906a2e9cee7ad63baa976ff231c57f7f2d7d3707fb8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a19f05fe84047a7a6d3d6fc39972b432e6e536aa70472386a9d7a6d9aab64a64\",\"dweb:/ipfs/QmcHwUY66yjiotRH4Q3kbRvSzcHyLQ1yHL3KbtQKiMhtZE\"]},\"project:/contracts/libs/Secp256k1.sol\":{\"keccak256\":\"0xbe686002da5004ff39dd70709f3820eba2afe9323ae9cb894009c161e4b1a666\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18fab91775216de0707cea9ad285b10be09127461a13432fea358bf9cb2a0c2e\",\"dweb:/ipfs/QmeRUGsgstnM4hxM9hpkBf3L6cE5btirEaowcMxmuw3utj\"]},\"project:/contracts/libs/Slices.sol\":{\"keccak256\":\"0x9d046fa558be922c9625a1fdc470f6e68b3c9b5745b6185cb4a4fc59181fa006\",\"license\":\"APACHE-2.0\",\"urls\":[\"bzz-raw://ab19ba09faf83aaa92947f0a0907f6522be89279a9a1b0e53d5393a23085947d\",\"dweb:/ipfs/QmeE9MwhpSFNTwyqDFpMFjftrJKR1edBhLjV3bdKQQHUVm\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x1d446c3e534e40e676d1763bfb2897fadfac8afed904ab757843d7d6770b0a6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://338fb1073f17d64e8d31bfe492d9475ce906788ee08e6489ce30413f91dc1328\",\"dweb:/ipfs/QmPe5QX2AGTnQFjse1Xttq4ZYWwYAiXoySb5VUui3PqPhk\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0x8e07aebe2954ab3e6f2d8eceedb12db7cf915c1f3e8630f4fa9999cecb1c78ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed6c54cc901183d61546e8fd15bd5ea8ef238ebc915642946071d435dd7481ea\",\"dweb:/ipfs/Qmcaqta7YjUSBbBUGqoh44bsCS6UqqoyHjBuz4qnKBShXM\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xd99308373575cc10fb7f2ceb0f6a8625f3911275c1fa27811fae498d98d03d97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4909a999d7b660a2dc54ca957b6eccfa523e2765fc4d6a2574dee7d5cd67b43\",\"dweb:/ipfs/QmWGQT4KDcfSFe1hcHVoWx6E4PhYMaod5iLpJCWBEeShzh\"]}},\"version\":1}",
  "bytecode": "0x612f87610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100a6575f3560e01c806386ac03e01161006e57806386ac03e01461015e578063a55b471c1461017d578063e1c9e3c0146101b4578063e6f3e35d146101c8578063ff75890f146101ed575f5ffd5b80630306732e146100aa57806303f3813d146100ca57806307f11202146100eb57806384292f071461011f57806384ee24111461013e575b5f5ffd5b6100b2610200565b6040516100c1939291906121e4565b60405180910390f35b8180156100d5575f5ffd5b506100e96100e43660046122f9565b610456565b005b8180156100f6575f5ffd5b5061010a61010536600461243e565b6107be565b604080519283526020830191909152016100c1565b81801561012a575f5ffd5b506100e96101393660046124ea565b610ae3565b61015161014c366004612531565b610c67565b6040516100c1919061257c565b818015610169575f5ffd5b506100e96101783660046125db565b610ebd565b818015610188575f5ffd5b5061019c610197366004612619565b6110f5565b6040516001600160a01b0390911681526020016100c1565b8180156101bf575f5ffd5b506100e9611211565b6101db6101d63660046125db565b61142d565b60405160ff90911681526020016100c1565b61019c6101fb366004612619565b6115cc565b5f516020612f325f395f51905f528054604080516020808402820181019092528281526060938493849383018282801561028357602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116102455790505b5050505050925082516001600160401b038111156102a3576102a36123bb565b6040519080825280602002602001820160405280156102d657816020015b60608152602001906001900390816102c15790505b50915082516001600160401b038111156102f2576102f26123bb565b60405190808252806020026020018201604052801561031b578160200160208202803683370190505b5090505f5b8351811015610450575f61034c85838151811061033f5761033f612683565b6020026020010151611651565b9050805f01805461035c90612697565b80601f016020809104026020016040519081016040528092919081815260200182805461038890612697565b80156103d35780601f106103aa576101008083540402835291602001916103d3565b820191905f5260205f20905b8154815290600101906020018083116103b657829003601f168201915b50505050508483815181106103ea576103ea612683565b602090810291909101015260068101546001600160a01b03161561042457600681015460601b6bffffffffffffffffffffffff191661042a565b80600501545b83838151811061043c5761043c612683565b602090810291909101015250600101610320565b50909192565b5f61049586868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061168a92505050565b90505f6104a182611651565b905080600201545f0361056d57806104ba87898361271b565b506104c5878761142d565b60018201805460ff191660ff929092169190911790555f516020612f125f395f51905f526001908101546104f8916127e8565b60028201556006810180546001600160a01b0319166001600160a01b0387161790555f516020612f125f395f51905f526001908101805491820181555f908152602090206008820401805463ffffffff60079093166004026101000a928302191660e085901c929092029190911790556105a8565b60068101546001600160a01b038681169116146105a8575f60058201556006810180546001600160a01b0319166001600160a01b0387161790555b5f5f866001600160a01b031663e6f8715860e01b8588886040516024016105d193929190612823565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161060f91906128ea565b5f60405180830381855af49150503d805f8114610647576040519150601f19603f3d011682016040523d82523d5f602084013e61064c565b606091505b5091509150816106af57600481019050808060200190518101906106709190612971565b60405160200161068091906129b5565b60408051601f198184030181529082905262461bcd60e51b82526106a6916004016129e6565b60405180910390fd5b5050604080516001600160e01b0319841660248083019190915282518083039091018152604490910182526020810180516001600160e01b031663e0d20f7360e01b17905290515f9182913091610705916128ea565b5f60405180830381855afa9150503d805f811461073d576040519150601f19603f3d011682016040523d82523d5f602084013e610742565b606091505b50915091508161077657600481019050808060200190518101906107669190612971565b60405160200161068091906129f8565b50507f286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052878784886040516107ad9493929190612a1f565b60405180910390a150505050505050565b5f5f5f6107ca86611651565b9050806004015492505f6107de8888611695565b90506107fa8160ff8111156107f5576107f5612568565b611724565b156108fc576040516337ed55bf60e11b8152600481018590525f906001600160a01b038a1690636fdaab7e90602401602060405180830381865afa158015610844573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108689190612a5d565b90508068ffffffffffffffffff168611156108f25761089268ffffffffffffffffff821687612a85565b60405163ec5946db60e01b8152600481018790529094506001600160a01b038a169063ec5946db9086906024015f604051808303818588803b1580156108d6575f5ffd5b505af11580156108e8573d5f5f3e3d5ffd5b50505050506108f6565b5f93505b50610ad8565b5f8160ff81111561090f5761090f612568565b036109b0576003820154156109a4576003820154604051637c1fbda360e01b815260048101919091526001600160a01b03891690637c1fbda3906024016020604051808303815f875af1925050508015610986575060408051601f3d908101601f1916820190925261098391810190612a5d565b60015b156109a4576109a068ffffffffffffffffff8216876127e8565b9550505b60038201849055610a30565b604051637c1fbda360e01b8152600481018590526001600160a01b03891690637c1fbda3906024016020604051808303815f875af1925050508015610a12575060408051601f3d908101601f19168201909252610a0f91810190612a5d565b60015b15610a3057610a2c68ffffffffffffffffff8216876127e8565b9550505b60058201546040805163a58f680360e01b81526004810192909252875161ffff908116602484015260208901511660448301528701516001600160401b031660648201528593506001600160a01b0389169063a58f680390859060840160206040518083038185885af1158015610aa9573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ace9190612a98565b6004830181905593505b505094509492505050565b5f610b2284848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061168a92505050565b90505f610b2e82611651565b905080600201545f03610bfe5780610b4785878361271b565b50610b52858561142d565b60018201805460ff191660ff929092169190911790555f516020612f125f395f51905f52600190810154610b85916127e8565b6002820155600581018390555f516020612f325f395f51905f5280546001810182555f919091527fb7ef506da7909f25321b247725840c95fced7275a59588a4236c0671ab1d82216008820401805463ffffffff60079093166004026101000a928302191660e085901c92909202919091179055610c23565b82816005015414610c2357600581018390556006810180546001600160a01b03191690555b7f56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f10185858486604051610c589493929190612aaf565b60405180910390a15050505050565b610c8e604080516080810182525f8082526020820181905291810182905290606082015290565b5f610c99848461175b565b90508015610d7c576040516359209b3960e01b8152600481018290525f906001600160a01b038616906359209b39906024015f60405180830381865afa158015610ce5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d0c9190810190612bee565b90506040518060800160405280610d2283611808565b6001600160401b0316815260200182608001516001600160401b0316815260200182604001518152602001610d5f610d5a8888611695565b6118e3565b6003811115610d7057610d70612568565b81525092505050610eb7565b5f610d8684611651565b600601546001600160a01b031690508015610e8857604080516001600160e01b0319861660248083019190915282518083039091018152604490910182526020810180516001600160e01b031663e0d20f7360e01b17905290515f9182913091610def916128ea565b5f60405180830381855afa9150503d805f8114610e27576040519150601f19603f3d011682016040523d82523d5f602084013e610e2c565b606091505b509150915081610e695760048101905080806020019051810190610e509190612971565b60405162461bcd60e51b81526004016106a691906129e6565b80806020019051810190610e7d9190612ca4565b945050505050610eb7565b604080516080810182525f808252602082018190529181019190915260608101610d5f610d5a8888611695565b505b92915050565b5f610efc83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061168a92505050565b90505f516020612f325f395f51905f525f610f1683611651565b60028101549091505f819003610f5d5760405162461bcd60e51b815260206004820152600c60248201526b1d5b9adb9bdddb881999595960a21b60448201526064016106a6565b82545f908490610f6f90600190612a85565b81548110610f7f57610f7f612683565b5f918252602090912060088204015460079091166004026101000a900460e01b90508084610fae600185612a85565b81548110610fbe57610fbe612683565b905f5260205f2090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555083805480610ffc57610ffc612d22565b5f8281526020902060085f1990920191820401805463ffffffff600460078516026101000a021916905590558161103282611651565b600201556001600160e01b031985165f9081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d2016020526040812090611078828261212a565b5060018101805460ff191690555f600282018190556003820181905560048201819055600582018190556006820180546001600160a01b0319169055600782018190556008909101556040517f69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921906107ad90899089908990612d36565b5f611102858585856115cc565b9050806001600160a01b03163b5f03611209575f61112286868686611931565b90505f5f8251602084015ff59050809250636d7f4b0b60e11b6001600160e01b031916836001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611181573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a59190612d62565b6001600160e01b031916146112065760405162461bcd60e51b815260206004820152602160248201527f756e636f6d706c69616e7420736f6c76657220696d706c656d656e746174696f6044820152603760f91b60648201526084016106a6565b50505b949350505050565b5f516020612f325f395f51905f5280545b8015611429575f82611235600184612a85565b8154811061124557611245612683565b5f9182526020822060088204015460079091166004026101000a900460e01b91505f516020612f125f395f51905f526001600160e01b031983165f90815260029190910160205260409020805461129b90612697565b80601f01602080910402602001604051908101604052809291908181526020018280546112c790612697565b80156113125780601f106112e957610100808354040283529160200191611312565b820191905f5260205f20905b8154815290600101906020018083116112f557829003601f168201915b5050505050905061132d5f516020612f125f395f51905f5290565b6001600160e01b031983165f9081526002919091016020526040812090611354828261212a565b5060018101805460ff191690555f600282018190556003820181905560048201819055600582018190556006820180546001600160a01b03191690556007820181905560089091015583548490806113ae576113ae612d22565b5f8281526020902060085f1990920191820401805463ffffffff600460078516026101000a021916905590556040517f69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a0229219061140c9083908590612d7d565b60405180910390a15050808061142190612da7565b915050611222565b5050565b5f5f61146d84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061196392505050565b60408051808201825260018152602d60f81b6020808301918252835180850185525f808252908201819052845180860190955292518452830152919250906114b5838361198f565b6114c09060016127e8565b6001600160401b038111156114d7576114d76123bb565b60405190808252806020026020018201604052801561150a57816020015b60608152602001906001900390816114f55790505b5090505f5b815181101561154f5761152a6115258585611a23565b611a41565b82828151811061153c5761153c612683565b602090810291909101015260010161150f565b505f5f61158183600185516115649190612a85565b8151811061157457611574612683565b6020026020010151611aa5565b91509150806115c15760405162461bcd60e51b815260206004820152600c60248201526b62616420646563696d616c7360a01b60448201526064016106a6565b509695505050505050565b5f6001600160f81b031930826115e488888888611931565b805160209182012060405161163095949392016001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012095945050505050565b6001600160e01b0319165f9081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d2016020526040902090565b805160209091012090565b5f5f6116a083611651565b600401549050801561171b57604051634cddf61560e01b8152600481018290526001600160a01b03851690634cddf61590602401602060405180830381865afa1580156116ef573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117139190612dbc565b915050610eb7565b5f915050610eb7565b5f60f08260ff81111561173957611739612568565b1480610eb7575060f18260ff81111561175457611754612568565b1492915050565b5f61176582611651565b6004015490508015806117ef57505f604051634cddf61560e01b8152600481018390526001600160a01b03851690634cddf61590602401602060405180830381865afa1580156117b7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117db9190612dbc565b60ff8111156117ec576117ec612568565b14155b15610eb7576117fd82611651565b600301549392505050565b5f81600461181582611b51565b158015611847575080601381111561182f5761182f612568565b8260200151601381111561184557611845612568565b145b6118935760405162461bcd60e51b815260206004820152601760248201527f63626f723a2063616e6e6f74206665746368206461746100000000000000000060448201526064016106a6565b6118a08460a00151611b5e565b92506118af8260a00151611bad565b826020019060138111156118c5576118c5612568565b908160138111156118d8576118d8612568565b815250505050919050565b5f6118f98260ff8111156107f5576107f5612568565b611929576119178260ff81111561191257611912612568565b611c74565b611922576002610eb7565b6003610eb7565b600192915050565b60608484848460405160200161194a9493929190612dd5565b6040516020818303038152906040529050949350505050565b6040805180820182525f8082526020918201528151808301909252825182529182019181019190915290565b5f5f825f01516119af855f01518660200151865f01518760200151611ca1565b6119b991906127e8565b90505b835160208501516119cd91906127e8565b8111610eb557816119dd81612df4565b925050825f0151611a128560200151836119f79190612a85565b8651611a039190612a85565b83865f01518760200151611ca1565b611a1c91906127e8565b90506119bc565b604080518082019091525f8082526020820152610eb5838383611dbd565b60605f825f01516001600160401b03811115611a5f57611a5f6123bb565b6040519080825280601f01601f191660200182016040528015611a89576020820181803683370190505b5090505f602082019050610eb5818560200151865f0151611e63565b5f80805b8351811015611b46575f6030858381518110611ac757611ac7612683565b016020015160f81c0360ff161080611afe575060096030858381518110611af057611af0612683565b016020015160f81c0360ff16115b15611b0e57505f93849350915050565b60018185510303600a0a6030858381518110611b2c57611b2c612683565b016020015160f81c0360ff16029290920191600101611aa9565b509092600192509050565b5f610eb7825f0151611724565b5f815f8060ff16826040015160ff1614611b9c57604080830151905161800560e51b815260ff918216600482015290821660248201526044016106a6565b611209845f01518560600151611edc565b5f611bc18251805151602090910151101590565b611c6f576006826040015160ff1611611c095760408201516502020183808360d11b9060ff1660078110611bf757611bf7612683565b1a6013811115610eb757610eb7612568565b816040015160ff16600703611c6f57816060015160ff1660141480611c355750816060015160ff166015145b15611c4257506002919050565b6019826060015160ff1610158015611c625750601b826060015160ff1611155b15611c6f57506005919050565b919050565b5f808260ff811115611c8857611c88612568565b14158015610eb75750611c9a82611724565b1592915050565b5f8381868511611da85760208511611d58575f8515611ceb576001611cc7876020612a85565b611cd2906008612e0c565b611cdd906002612f06565b611ce79190612a85565b1990505b845181165f87611cfb8b8b6127e8565b611d059190612a85565b855190915083165b828114611d4a57818610611d3257611d258b8b6127e8565b9650505050505050611209565b85611d3c81612df4565b965050838651169050611d0d565b859650505050505050611209565b508383205f905b611d698689612a85565b8211611da657858320808203611d855783945050505050611209565b611d906001856127e8565b9350508180611d9e90612df4565b925050611d5f565b505b611db287876127e8565b979650505050505050565b604080518082019091525f80825260208201525f611deb855f01518660200151865f01518760200151611ca1565b602080870180519186019190915251909150611e079082612a85565b835284516020860151611e1a91906127e8565b8103611e28575f8552611e5a565b83518351611e3691906127e8565b85518690611e45908390612a85565b9052508351611e5490826127e8565b60208601525b50909392505050565b60208110611e9b5781518352611e7a6020846127e8565b9250611e876020836127e8565b9150611e94602082612a85565b9050611e63565b5f198115611ec9576001611eb0836020612a85565b611ebc90610100612f06565b611ec69190612a85565b90505b9151835183169219169190911790915250565b5f60188260ff161015611ef3575060ff8116610eb7565b8160ff16601803611f1157611f0783611fa3565b60ff169050610eb7565b8160ff16601903611f3057611f2583612003565b61ffff169050610eb7565b8160ff16601a03611f5157611f448361206e565b63ffffffff169050610eb7565b8160ff16601b03611f6c57611f65836120cc565b9050610eb7565b8160ff16601f03611f8557506001600160401b03610eb7565b604051636d785b1360e01b815260ff831660048201526024016106a6565b5f8160200151825f01515180821115611fd9576040516363a056dd60e01b815260048101839052602481018290526044016106a6565b8351602085018051808301600101519550908190611ff682612df4565b8152505050505050919050565b5f8160200151600261201591906127e8565b82515180821115612043576040516363a056dd60e01b815260048101839052602481018290526044016106a6565b835160208501805160028184018101519650909161206182846127e8565b9052509395945050505050565b5f8160200151600461208091906127e8565b825151808211156120ae576040516363a056dd60e01b815260048101839052602481018290526044016106a6565b835160208501805160048184018101519650909161206182846127e8565b5f816020015160086120de91906127e8565b8251518082111561210c576040516363a056dd60e01b815260048101839052602481018290526044016106a6565b835160208501805160088184018101519650909161206182846127e8565b50805461213690612697565b5f825580601f10612145575050565b601f0160209004905f5260205f20908101906121619190612164565b50565b5b80821115612178575f8155600101612165565b5090565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f8151808452602084019350602083015f5b828110156121da5781518652602095860195909101906001016121bc565b5093949350505050565b606080825284519082018190525f9060208601906080840190835b818110156122275783516001600160e01b0319168352602093840193909201916001016121ff565b50508381036020850152809150855180825260208201925060208160051b830101602088015f5b8381101561228057601f1985840301865261226a83835161217c565b602096870196909350919091019060010161224e565b5050858103604087015261229481886121aa565b9998505050505050505050565b5f5f83601f8401126122b1575f5ffd5b5081356001600160401b038111156122c7575f5ffd5b6020830191508360208285010111156122de575f5ffd5b9250929050565b6001600160a01b0381168114612161575f5ffd5b5f5f5f5f5f6060868803121561230d575f5ffd5b85356001600160401b03811115612322575f5ffd5b61232e888289016122a1565b9096509450506020860135612342816122e5565b925060408601356001600160401b0381111561235c575f5ffd5b8601601f8101881361236c575f5ffd5b80356001600160401b03811115612381575f5ffd5b8860208260051b8401011115612395575f5ffd5b959894975092955050506020019190565b6001600160e01b031981168114612161575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b60405160c081016001600160401b03811182821017156123f1576123f16123bb565b60405290565b604080519081016001600160401b03811182821017156123f1576123f16123bb565b803561ffff81168114611c6f575f5ffd5b6001600160401b0381168114612161575f5ffd5b5f5f5f5f84860360c0811215612452575f5ffd5b853561245d816122e5565b9450602086013561246d816123a6565b93506060603f1982011215612480575f5ffd5b50604051606081016001600160401b03811182821017156124a3576124a36123bb565b80604052506124b460408701612419565b81526124c260608701612419565b602082015260808601356124d58161242a565b60408201529396929550929360a00135925050565b5f5f5f604084860312156124fc575f5ffd5b83356001600160401b03811115612511575f5ffd5b61251d868287016122a1565b909790965060209590950135949350505050565b5f5f60408385031215612542575f5ffd5b823561254d816122e5565b9150602083013561255d816123a6565b809150509250929050565b634e487b7160e01b5f52602160045260245ffd5b5f6080820190506001600160401b0383511682526001600160401b036020840151166020830152604083015160408301526060830151600481106125ce57634e487b7160e01b5f52602160045260245ffd5b8060608401525092915050565b5f5f602083850312156125ec575f5ffd5b82356001600160401b03811115612601575f5ffd5b61260d858286016122a1565b90969095509350505050565b5f5f5f5f6040858703121561262c575f5ffd5b84356001600160401b03811115612641575f5ffd5b61264d878288016122a1565b90955093505060208501356001600160401b0381111561266b575f5ffd5b612677878288016122a1565b95989497509550505050565b634e487b7160e01b5f52603260045260245ffd5b600181811c908216806126ab57607f821691505b6020821081036126c957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561271657805f5260205f20601f840160051c810160208510156126f45750805b601f840160051c820191505b81811015612713575f8155600101612700565b50505b505050565b6001600160401b03831115612732576127326123bb565b612746836127408354612697565b836126cf565b5f601f841160018114612777575f85156127605750838201355b5f19600387901b1c1916600186901b178355612713565b5f83815260208120601f198716915b828110156127a65786850135825560209485019460019092019101612786565b50868210156127c2575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610eb757610eb76127d4565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160e01b03198416815260406020820181905281018290525f6060600584901b830181019083018583601e1936839003015b878210156128c557868503605f190184528235818112612876575f5ffd5b89016020810190356001600160401b03811115612891575f5ffd5b80360382131561289f575f5ffd5b6128aa8782846127fb565b96505050602083019250602084019350600182019150612858565b509298975050505050505050565b5f81518060208401855e5f93019283525090919050565b5f6128f582846128d3565b9392505050565b5f5f6001600160401b03841115612915576129156123bb565b50604051601f19601f85018116603f011681018181106001600160401b0382111715612943576129436123bb565b60405283815290508082840185101561295a575f5ffd5b8383602083015e5f60208583010152509392505050565b5f60208284031215612981575f5ffd5b81516001600160401b03811115612996575f5ffd5b8201601f810184136129a6575f5ffd5b611209848251602084016128fc565b7f736f6c7665722076616c69646174696f6e206661696c65643a2000000000000081525f6128f5601a8301846128d3565b602081525f6128f5602083018461217c565b72039b6b7b5b296ba32b9ba103330b4b632b21d1606d1b81525f6128f560138301846128d3565b606081525f612a326060830186886127fb565b6001600160e01b0319949094166020830152506001600160a01b039190911660409091015292915050565b5f60208284031215612a6d575f5ffd5b815168ffffffffffffffffff811681146128f5575f5ffd5b81810381811115610eb757610eb76127d4565b5f60208284031215612aa8575f5ffd5b5051919050565b606081525f612ac26060830186886127fb565b6001600160e01b0319949094166020830152506040015292915050565b80516101008110611c6f575f5ffd5b8051611c6f8161242a565b805160ff81168114611c6f575f5ffd5b5f60c08284031215612b19575f5ffd5b612b216123cf565b905081516001600160401b03811115612b38575f5ffd5b820160408185031215612b49575f5ffd5b612b516123f7565b81516001600160401b03811115612b66575f5ffd5b8201601f81018613612b76575f5ffd5b612b85868251602084016128fc565b825250602091820151828201528252612b9f908301612af9565b6020820152612bb060408301612af9565b6040820152612bc160608301612af9565b6060820152612bd260808301612aee565b6080820152612be360a08301612aee565b60a082015292915050565b5f60208284031215612bfe575f5ffd5b81516001600160401b03811115612c13575f5ffd5b820160c08185031215612c24575f5ffd5b612c2c6123cf565b612c3582612adf565b8152602082015160148110612c48575f5ffd5b60208201526040828101519082015260608083015190820152612c6d60808301612aee565b608082015260a08201516001600160401b03811115612c8a575f5ffd5b612c9686828501612b09565b60a083015250949350505050565b5f6080828403128015612cb5575f5ffd5b50604051608081016001600160401b0381118282101715612cd857612cd86123bb565b6040528251612ce68161242a565b81526020830151612cf68161242a565b602082015260408381015190820152606083015160048110612d16575f5ffd5b60608201529392505050565b634e487b7160e01b5f52603160045260245ffd5b604081525f612d496040830185876127fb565b905063ffffffff60e01b83166020830152949350505050565b5f60208284031215612d72575f5ffd5b81516128f5816123a6565b604081525f612d8f604083018561217c565b905063ffffffff60e01b831660208301529392505050565b5f81612db557612db56127d4565b505f190190565b5f60208284031215612dcc575f5ffd5b6128f582612adf565b838582375f8482015f8152838582375f93019283525090949350505050565b5f60018201612e0557612e056127d4565b5060010190565b8082028115828204841417610eb757610eb76127d4565b6001815b6001841115612e5e57808504811115612e4257612e426127d4565b6001841615612e5057908102905b60019390931c928002612e27565b935093915050565b5f82612e7457506001610eb7565b81612e8057505f610eb7565b8160018114612e965760028114612ea057612ebc565b6001915050610eb7565b60ff841115612eb157612eb16127d4565b50506001821b610eb7565b5060208310610133831016604e8410600b8410161715612edf575081810a610eb7565b612eeb5f198484612e23565b805f1904821115612efe57612efe6127d4565b029392505050565b5f6128f58383612e6656fee36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ffe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d200a2646970667358221220c8b3c36beb28051daa7382b6462a32d04babb2e74f729d274f3df2d4dcd5367264736f6c634300081e0033",
  "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100a6575f3560e01c806386ac03e01161006e57806386ac03e01461015e578063a55b471c1461017d578063e1c9e3c0146101b4578063e6f3e35d146101c8578063ff75890f146101ed575f5ffd5b80630306732e146100aa57806303f3813d146100ca57806307f11202146100eb57806384292f071461011f57806384ee24111461013e575b5f5ffd5b6100b2610200565b6040516100c1939291906121e4565b60405180910390f35b8180156100d5575f5ffd5b506100e96100e43660046122f9565b610456565b005b8180156100f6575f5ffd5b5061010a61010536600461243e565b6107be565b604080519283526020830191909152016100c1565b81801561012a575f5ffd5b506100e96101393660046124ea565b610ae3565b61015161014c366004612531565b610c67565b6040516100c1919061257c565b818015610169575f5ffd5b506100e96101783660046125db565b610ebd565b818015610188575f5ffd5b5061019c610197366004612619565b6110f5565b6040516001600160a01b0390911681526020016100c1565b8180156101bf575f5ffd5b506100e9611211565b6101db6101d63660046125db565b61142d565b60405160ff90911681526020016100c1565b61019c6101fb366004612619565b6115cc565b5f516020612f325f395f51905f528054604080516020808402820181019092528281526060938493849383018282801561028357602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116102455790505b5050505050925082516001600160401b038111156102a3576102a36123bb565b6040519080825280602002602001820160405280156102d657816020015b60608152602001906001900390816102c15790505b50915082516001600160401b038111156102f2576102f26123bb565b60405190808252806020026020018201604052801561031b578160200160208202803683370190505b5090505f5b8351811015610450575f61034c85838151811061033f5761033f612683565b6020026020010151611651565b9050805f01805461035c90612697565b80601f016020809104026020016040519081016040528092919081815260200182805461038890612697565b80156103d35780601f106103aa576101008083540402835291602001916103d3565b820191905f5260205f20905b8154815290600101906020018083116103b657829003601f168201915b50505050508483815181106103ea576103ea612683565b602090810291909101015260068101546001600160a01b03161561042457600681015460601b6bffffffffffffffffffffffff191661042a565b80600501545b83838151811061043c5761043c612683565b602090810291909101015250600101610320565b50909192565b5f61049586868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061168a92505050565b90505f6104a182611651565b905080600201545f0361056d57806104ba87898361271b565b506104c5878761142d565b60018201805460ff191660ff929092169190911790555f516020612f125f395f51905f526001908101546104f8916127e8565b60028201556006810180546001600160a01b0319166001600160a01b0387161790555f516020612f125f395f51905f526001908101805491820181555f908152602090206008820401805463ffffffff60079093166004026101000a928302191660e085901c929092029190911790556105a8565b60068101546001600160a01b038681169116146105a8575f60058201556006810180546001600160a01b0319166001600160a01b0387161790555b5f5f866001600160a01b031663e6f8715860e01b8588886040516024016105d193929190612823565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161060f91906128ea565b5f60405180830381855af49150503d805f8114610647576040519150601f19603f3d011682016040523d82523d5f602084013e61064c565b606091505b5091509150816106af57600481019050808060200190518101906106709190612971565b60405160200161068091906129b5565b60408051601f198184030181529082905262461bcd60e51b82526106a6916004016129e6565b60405180910390fd5b5050604080516001600160e01b0319841660248083019190915282518083039091018152604490910182526020810180516001600160e01b031663e0d20f7360e01b17905290515f9182913091610705916128ea565b5f60405180830381855afa9150503d805f811461073d576040519150601f19603f3d011682016040523d82523d5f602084013e610742565b606091505b50915091508161077657600481019050808060200190518101906107669190612971565b60405160200161068091906129f8565b50507f286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052878784886040516107ad9493929190612a1f565b60405180910390a150505050505050565b5f5f5f6107ca86611651565b9050806004015492505f6107de8888611695565b90506107fa8160ff8111156107f5576107f5612568565b611724565b156108fc576040516337ed55bf60e11b8152600481018590525f906001600160a01b038a1690636fdaab7e90602401602060405180830381865afa158015610844573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108689190612a5d565b90508068ffffffffffffffffff168611156108f25761089268ffffffffffffffffff821687612a85565b60405163ec5946db60e01b8152600481018790529094506001600160a01b038a169063ec5946db9086906024015f604051808303818588803b1580156108d6575f5ffd5b505af11580156108e8573d5f5f3e3d5ffd5b50505050506108f6565b5f93505b50610ad8565b5f8160ff81111561090f5761090f612568565b036109b0576003820154156109a4576003820154604051637c1fbda360e01b815260048101919091526001600160a01b03891690637c1fbda3906024016020604051808303815f875af1925050508015610986575060408051601f3d908101601f1916820190925261098391810190612a5d565b60015b156109a4576109a068ffffffffffffffffff8216876127e8565b9550505b60038201849055610a30565b604051637c1fbda360e01b8152600481018590526001600160a01b03891690637c1fbda3906024016020604051808303815f875af1925050508015610a12575060408051601f3d908101601f19168201909252610a0f91810190612a5d565b60015b15610a3057610a2c68ffffffffffffffffff8216876127e8565b9550505b60058201546040805163a58f680360e01b81526004810192909252875161ffff908116602484015260208901511660448301528701516001600160401b031660648201528593506001600160a01b0389169063a58f680390859060840160206040518083038185885af1158015610aa9573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ace9190612a98565b6004830181905593505b505094509492505050565b5f610b2284848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061168a92505050565b90505f610b2e82611651565b905080600201545f03610bfe5780610b4785878361271b565b50610b52858561142d565b60018201805460ff191660ff929092169190911790555f516020612f125f395f51905f52600190810154610b85916127e8565b6002820155600581018390555f516020612f325f395f51905f5280546001810182555f919091527fb7ef506da7909f25321b247725840c95fced7275a59588a4236c0671ab1d82216008820401805463ffffffff60079093166004026101000a928302191660e085901c92909202919091179055610c23565b82816005015414610c2357600581018390556006810180546001600160a01b03191690555b7f56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f10185858486604051610c589493929190612aaf565b60405180910390a15050505050565b610c8e604080516080810182525f8082526020820181905291810182905290606082015290565b5f610c99848461175b565b90508015610d7c576040516359209b3960e01b8152600481018290525f906001600160a01b038616906359209b39906024015f60405180830381865afa158015610ce5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d0c9190810190612bee565b90506040518060800160405280610d2283611808565b6001600160401b0316815260200182608001516001600160401b0316815260200182604001518152602001610d5f610d5a8888611695565b6118e3565b6003811115610d7057610d70612568565b81525092505050610eb7565b5f610d8684611651565b600601546001600160a01b031690508015610e8857604080516001600160e01b0319861660248083019190915282518083039091018152604490910182526020810180516001600160e01b031663e0d20f7360e01b17905290515f9182913091610def916128ea565b5f60405180830381855afa9150503d805f8114610e27576040519150601f19603f3d011682016040523d82523d5f602084013e610e2c565b606091505b509150915081610e695760048101905080806020019051810190610e509190612971565b60405162461bcd60e51b81526004016106a691906129e6565b80806020019051810190610e7d9190612ca4565b945050505050610eb7565b604080516080810182525f808252602082018190529181019190915260608101610d5f610d5a8888611695565b505b92915050565b5f610efc83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061168a92505050565b90505f516020612f325f395f51905f525f610f1683611651565b60028101549091505f819003610f5d5760405162461bcd60e51b815260206004820152600c60248201526b1d5b9adb9bdddb881999595960a21b60448201526064016106a6565b82545f908490610f6f90600190612a85565b81548110610f7f57610f7f612683565b5f918252602090912060088204015460079091166004026101000a900460e01b90508084610fae600185612a85565b81548110610fbe57610fbe612683565b905f5260205f2090600891828204019190066004026101000a81548163ffffffff021916908360e01c021790555083805480610ffc57610ffc612d22565b5f8281526020902060085f1990920191820401805463ffffffff600460078516026101000a021916905590558161103282611651565b600201556001600160e01b031985165f9081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d2016020526040812090611078828261212a565b5060018101805460ff191690555f600282018190556003820181905560048201819055600582018190556006820180546001600160a01b0319169055600782018190556008909101556040517f69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921906107ad90899089908990612d36565b5f611102858585856115cc565b9050806001600160a01b03163b5f03611209575f61112286868686611931565b90505f5f8251602084015ff59050809250636d7f4b0b60e11b6001600160e01b031916836001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611181573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a59190612d62565b6001600160e01b031916146112065760405162461bcd60e51b815260206004820152602160248201527f756e636f6d706c69616e7420736f6c76657220696d706c656d656e746174696f6044820152603760f91b60648201526084016106a6565b50505b949350505050565b5f516020612f325f395f51905f5280545b8015611429575f82611235600184612a85565b8154811061124557611245612683565b5f9182526020822060088204015460079091166004026101000a900460e01b91505f516020612f125f395f51905f526001600160e01b031983165f90815260029190910160205260409020805461129b90612697565b80601f01602080910402602001604051908101604052809291908181526020018280546112c790612697565b80156113125780601f106112e957610100808354040283529160200191611312565b820191905f5260205f20905b8154815290600101906020018083116112f557829003601f168201915b5050505050905061132d5f516020612f125f395f51905f5290565b6001600160e01b031983165f9081526002919091016020526040812090611354828261212a565b5060018101805460ff191690555f600282018190556003820181905560048201819055600582018190556006820180546001600160a01b03191690556007820181905560089091015583548490806113ae576113ae612d22565b5f8281526020902060085f1990920191820401805463ffffffff600460078516026101000a021916905590556040517f69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a0229219061140c9083908590612d7d565b60405180910390a15050808061142190612da7565b915050611222565b5050565b5f5f61146d84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061196392505050565b60408051808201825260018152602d60f81b6020808301918252835180850185525f808252908201819052845180860190955292518452830152919250906114b5838361198f565b6114c09060016127e8565b6001600160401b038111156114d7576114d76123bb565b60405190808252806020026020018201604052801561150a57816020015b60608152602001906001900390816114f55790505b5090505f5b815181101561154f5761152a6115258585611a23565b611a41565b82828151811061153c5761153c612683565b602090810291909101015260010161150f565b505f5f61158183600185516115649190612a85565b8151811061157457611574612683565b6020026020010151611aa5565b91509150806115c15760405162461bcd60e51b815260206004820152600c60248201526b62616420646563696d616c7360a01b60448201526064016106a6565b509695505050505050565b5f6001600160f81b031930826115e488888888611931565b805160209182012060405161163095949392016001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012095945050505050565b6001600160e01b0319165f9081527fe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d2016020526040902090565b805160209091012090565b5f5f6116a083611651565b600401549050801561171b57604051634cddf61560e01b8152600481018290526001600160a01b03851690634cddf61590602401602060405180830381865afa1580156116ef573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117139190612dbc565b915050610eb7565b5f915050610eb7565b5f60f08260ff81111561173957611739612568565b1480610eb7575060f18260ff81111561175457611754612568565b1492915050565b5f61176582611651565b6004015490508015806117ef57505f604051634cddf61560e01b8152600481018390526001600160a01b03851690634cddf61590602401602060405180830381865afa1580156117b7573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117db9190612dbc565b60ff8111156117ec576117ec612568565b14155b15610eb7576117fd82611651565b600301549392505050565b5f81600461181582611b51565b158015611847575080601381111561182f5761182f612568565b8260200151601381111561184557611845612568565b145b6118935760405162461bcd60e51b815260206004820152601760248201527f63626f723a2063616e6e6f74206665746368206461746100000000000000000060448201526064016106a6565b6118a08460a00151611b5e565b92506118af8260a00151611bad565b826020019060138111156118c5576118c5612568565b908160138111156118d8576118d8612568565b815250505050919050565b5f6118f98260ff8111156107f5576107f5612568565b611929576119178260ff81111561191257611912612568565b611c74565b611922576002610eb7565b6003610eb7565b600192915050565b60608484848460405160200161194a9493929190612dd5565b6040516020818303038152906040529050949350505050565b6040805180820182525f8082526020918201528151808301909252825182529182019181019190915290565b5f5f825f01516119af855f01518660200151865f01518760200151611ca1565b6119b991906127e8565b90505b835160208501516119cd91906127e8565b8111610eb557816119dd81612df4565b925050825f0151611a128560200151836119f79190612a85565b8651611a039190612a85565b83865f01518760200151611ca1565b611a1c91906127e8565b90506119bc565b604080518082019091525f8082526020820152610eb5838383611dbd565b60605f825f01516001600160401b03811115611a5f57611a5f6123bb565b6040519080825280601f01601f191660200182016040528015611a89576020820181803683370190505b5090505f602082019050610eb5818560200151865f0151611e63565b5f80805b8351811015611b46575f6030858381518110611ac757611ac7612683565b016020015160f81c0360ff161080611afe575060096030858381518110611af057611af0612683565b016020015160f81c0360ff16115b15611b0e57505f93849350915050565b60018185510303600a0a6030858381518110611b2c57611b2c612683565b016020015160f81c0360ff16029290920191600101611aa9565b509092600192509050565b5f610eb7825f0151611724565b5f815f8060ff16826040015160ff1614611b9c57604080830151905161800560e51b815260ff918216600482015290821660248201526044016106a6565b611209845f01518560600151611edc565b5f611bc18251805151602090910151101590565b611c6f576006826040015160ff1611611c095760408201516502020183808360d11b9060ff1660078110611bf757611bf7612683565b1a6013811115610eb757610eb7612568565b816040015160ff16600703611c6f57816060015160ff1660141480611c355750816060015160ff166015145b15611c4257506002919050565b6019826060015160ff1610158015611c625750601b826060015160ff1611155b15611c6f57506005919050565b919050565b5f808260ff811115611c8857611c88612568565b14158015610eb75750611c9a82611724565b1592915050565b5f8381868511611da85760208511611d58575f8515611ceb576001611cc7876020612a85565b611cd2906008612e0c565b611cdd906002612f06565b611ce79190612a85565b1990505b845181165f87611cfb8b8b6127e8565b611d059190612a85565b855190915083165b828114611d4a57818610611d3257611d258b8b6127e8565b9650505050505050611209565b85611d3c81612df4565b965050838651169050611d0d565b859650505050505050611209565b508383205f905b611d698689612a85565b8211611da657858320808203611d855783945050505050611209565b611d906001856127e8565b9350508180611d9e90612df4565b925050611d5f565b505b611db287876127e8565b979650505050505050565b604080518082019091525f80825260208201525f611deb855f01518660200151865f01518760200151611ca1565b602080870180519186019190915251909150611e079082612a85565b835284516020860151611e1a91906127e8565b8103611e28575f8552611e5a565b83518351611e3691906127e8565b85518690611e45908390612a85565b9052508351611e5490826127e8565b60208601525b50909392505050565b60208110611e9b5781518352611e7a6020846127e8565b9250611e876020836127e8565b9150611e94602082612a85565b9050611e63565b5f198115611ec9576001611eb0836020612a85565b611ebc90610100612f06565b611ec69190612a85565b90505b9151835183169219169190911790915250565b5f60188260ff161015611ef3575060ff8116610eb7565b8160ff16601803611f1157611f0783611fa3565b60ff169050610eb7565b8160ff16601903611f3057611f2583612003565b61ffff169050610eb7565b8160ff16601a03611f5157611f448361206e565b63ffffffff169050610eb7565b8160ff16601b03611f6c57611f65836120cc565b9050610eb7565b8160ff16601f03611f8557506001600160401b03610eb7565b604051636d785b1360e01b815260ff831660048201526024016106a6565b5f8160200151825f01515180821115611fd9576040516363a056dd60e01b815260048101839052602481018290526044016106a6565b8351602085018051808301600101519550908190611ff682612df4565b8152505050505050919050565b5f8160200151600261201591906127e8565b82515180821115612043576040516363a056dd60e01b815260048101839052602481018290526044016106a6565b835160208501805160028184018101519650909161206182846127e8565b9052509395945050505050565b5f8160200151600461208091906127e8565b825151808211156120ae576040516363a056dd60e01b815260048101839052602481018290526044016106a6565b835160208501805160048184018101519650909161206182846127e8565b5f816020015160086120de91906127e8565b8251518082111561210c576040516363a056dd60e01b815260048101839052602481018290526044016106a6565b835160208501805160088184018101519650909161206182846127e8565b50805461213690612697565b5f825580601f10612145575050565b601f0160209004905f5260205f20908101906121619190612164565b50565b5b80821115612178575f8155600101612165565b5090565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f8151808452602084019350602083015f5b828110156121da5781518652602095860195909101906001016121bc565b5093949350505050565b606080825284519082018190525f9060208601906080840190835b818110156122275783516001600160e01b0319168352602093840193909201916001016121ff565b50508381036020850152809150855180825260208201925060208160051b830101602088015f5b8381101561228057601f1985840301865261226a83835161217c565b602096870196909350919091019060010161224e565b5050858103604087015261229481886121aa565b9998505050505050505050565b5f5f83601f8401126122b1575f5ffd5b5081356001600160401b038111156122c7575f5ffd5b6020830191508360208285010111156122de575f5ffd5b9250929050565b6001600160a01b0381168114612161575f5ffd5b5f5f5f5f5f6060868803121561230d575f5ffd5b85356001600160401b03811115612322575f5ffd5b61232e888289016122a1565b9096509450506020860135612342816122e5565b925060408601356001600160401b0381111561235c575f5ffd5b8601601f8101881361236c575f5ffd5b80356001600160401b03811115612381575f5ffd5b8860208260051b8401011115612395575f5ffd5b959894975092955050506020019190565b6001600160e01b031981168114612161575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b60405160c081016001600160401b03811182821017156123f1576123f16123bb565b60405290565b604080519081016001600160401b03811182821017156123f1576123f16123bb565b803561ffff81168114611c6f575f5ffd5b6001600160401b0381168114612161575f5ffd5b5f5f5f5f84860360c0811215612452575f5ffd5b853561245d816122e5565b9450602086013561246d816123a6565b93506060603f1982011215612480575f5ffd5b50604051606081016001600160401b03811182821017156124a3576124a36123bb565b80604052506124b460408701612419565b81526124c260608701612419565b602082015260808601356124d58161242a565b60408201529396929550929360a00135925050565b5f5f5f604084860312156124fc575f5ffd5b83356001600160401b03811115612511575f5ffd5b61251d868287016122a1565b909790965060209590950135949350505050565b5f5f60408385031215612542575f5ffd5b823561254d816122e5565b9150602083013561255d816123a6565b809150509250929050565b634e487b7160e01b5f52602160045260245ffd5b5f6080820190506001600160401b0383511682526001600160401b036020840151166020830152604083015160408301526060830151600481106125ce57634e487b7160e01b5f52602160045260245ffd5b8060608401525092915050565b5f5f602083850312156125ec575f5ffd5b82356001600160401b03811115612601575f5ffd5b61260d858286016122a1565b90969095509350505050565b5f5f5f5f6040858703121561262c575f5ffd5b84356001600160401b03811115612641575f5ffd5b61264d878288016122a1565b90955093505060208501356001600160401b0381111561266b575f5ffd5b612677878288016122a1565b95989497509550505050565b634e487b7160e01b5f52603260045260245ffd5b600181811c908216806126ab57607f821691505b6020821081036126c957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561271657805f5260205f20601f840160051c810160208510156126f45750805b601f840160051c820191505b81811015612713575f8155600101612700565b50505b505050565b6001600160401b03831115612732576127326123bb565b612746836127408354612697565b836126cf565b5f601f841160018114612777575f85156127605750838201355b5f19600387901b1c1916600186901b178355612713565b5f83815260208120601f198716915b828110156127a65786850135825560209485019460019092019101612786565b50868210156127c2575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610eb757610eb76127d4565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160e01b03198416815260406020820181905281018290525f6060600584901b830181019083018583601e1936839003015b878210156128c557868503605f190184528235818112612876575f5ffd5b89016020810190356001600160401b03811115612891575f5ffd5b80360382131561289f575f5ffd5b6128aa8782846127fb565b96505050602083019250602084019350600182019150612858565b509298975050505050505050565b5f81518060208401855e5f93019283525090919050565b5f6128f582846128d3565b9392505050565b5f5f6001600160401b03841115612915576129156123bb565b50604051601f19601f85018116603f011681018181106001600160401b0382111715612943576129436123bb565b60405283815290508082840185101561295a575f5ffd5b8383602083015e5f60208583010152509392505050565b5f60208284031215612981575f5ffd5b81516001600160401b03811115612996575f5ffd5b8201601f810184136129a6575f5ffd5b611209848251602084016128fc565b7f736f6c7665722076616c69646174696f6e206661696c65643a2000000000000081525f6128f5601a8301846128d3565b602081525f6128f5602083018461217c565b72039b6b7b5b296ba32b9ba103330b4b632b21d1606d1b81525f6128f560138301846128d3565b606081525f612a326060830186886127fb565b6001600160e01b0319949094166020830152506001600160a01b039190911660409091015292915050565b5f60208284031215612a6d575f5ffd5b815168ffffffffffffffffff811681146128f5575f5ffd5b81810381811115610eb757610eb76127d4565b5f60208284031215612aa8575f5ffd5b5051919050565b606081525f612ac26060830186886127fb565b6001600160e01b0319949094166020830152506040015292915050565b80516101008110611c6f575f5ffd5b8051611c6f8161242a565b805160ff81168114611c6f575f5ffd5b5f60c08284031215612b19575f5ffd5b612b216123cf565b905081516001600160401b03811115612b38575f5ffd5b820160408185031215612b49575f5ffd5b612b516123f7565b81516001600160401b03811115612b66575f5ffd5b8201601f81018613612b76575f5ffd5b612b85868251602084016128fc565b825250602091820151828201528252612b9f908301612af9565b6020820152612bb060408301612af9565b6040820152612bc160608301612af9565b6060820152612bd260808301612aee565b6080820152612be360a08301612aee565b60a082015292915050565b5f60208284031215612bfe575f5ffd5b81516001600160401b03811115612c13575f5ffd5b820160c08185031215612c24575f5ffd5b612c2c6123cf565b612c3582612adf565b8152602082015160148110612c48575f5ffd5b60208201526040828101519082015260608083015190820152612c6d60808301612aee565b608082015260a08201516001600160401b03811115612c8a575f5ffd5b612c9686828501612b09565b60a083015250949350505050565b5f6080828403128015612cb5575f5ffd5b50604051608081016001600160401b0381118282101715612cd857612cd86123bb565b6040528251612ce68161242a565b81526020830151612cf68161242a565b602082015260408381015190820152606083015160048110612d16575f5ffd5b60608201529392505050565b634e487b7160e01b5f52603160045260245ffd5b604081525f612d496040830185876127fb565b905063ffffffff60e01b83166020830152949350505050565b5f60208284031215612d72575f5ffd5b81516128f5816123a6565b604081525f612d8f604083018561217c565b905063ffffffff60e01b831660208301529392505050565b5f81612db557612db56127d4565b505f190190565b5f60208284031215612dcc575f5ffd5b6128f582612adf565b838582375f8482015f8152838582375f93019283525090949350505050565b5f60018201612e0557612e056127d4565b5060010190565b8082028115828204841417610eb757610eb76127d4565b6001815b6001841115612e5e57808504811115612e4257612e426127d4565b6001841615612e5057908102905b60019390931c928002612e27565b935093915050565b5f82612e7457506001610eb7565b81612e8057505f610eb7565b8160018114612e965760028114612ea057612ebc565b6001915050610eb7565b60ff841115612eb157612eb16127d4565b50506001821b610eb7565b5060208310610133831016604e8410600b8410161715612edf575081810a610eb7565b612eeb5f198484612e23565b805f1904821115612efe57612efe6127d4565b029392505050565b5f6128f58383612e6656fee36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ffe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d200a2646970667358221220c8b3c36beb28051daa7382b6462a32d04babb2e74f729d274f3df2d4dcd5367264736f6c634300081e0033",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [
    {
      "ast": {
        "nativeSrc": "0:29057:136",
        "nodeType": "YulBlock",
        "src": "0:29057:136",
        "statements": [
          {
            "nativeSrc": "6:3:136",
            "nodeType": "YulBlock",
            "src": "6:3:136",
            "statements": []
          },
          {
            "body": {
              "nativeSrc": "64:239:136",
              "nodeType": "YulBlock",
              "src": "64:239:136",
              "statements": [
                {
                  "nativeSrc": "74:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "74:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "94:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "94:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "88:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "88:5:136"
                    },
                    "nativeSrc": "88:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "88:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "78:6:136",
                      "nodeType": "YulTypedName",
                      "src": "78:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "116:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "116:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "121:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "121:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "109:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "109:6:136"
                    },
                    "nativeSrc": "109:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "109:19:136"
                  },
                  "nativeSrc": "109:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "109:19:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "147:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "147:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "152:4:136",
                            "nodeType": "YulLiteral",
                            "src": "152:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "143:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "143:3:136"
                        },
                        "nativeSrc": "143:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "143:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "163:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "163:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "170:4:136",
                            "nodeType": "YulLiteral",
                            "src": "170:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "159:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "159:3:136"
                        },
                        "nativeSrc": "159:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "159:16:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "177:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "177:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "137:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "137:5:136"
                    },
                    "nativeSrc": "137:47:136",
                    "nodeType": "YulFunctionCall",
                    "src": "137:47:136"
                  },
                  "nativeSrc": "137:47:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "137:47:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "208:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "208:3:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "213:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "213:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "204:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "204:3:136"
                            },
                            "nativeSrc": "204:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "204:16:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "222:4:136",
                            "nodeType": "YulLiteral",
                            "src": "222:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "200:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "200:3:136"
                        },
                        "nativeSrc": "200:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "200:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "229:1:136",
                        "nodeType": "YulLiteral",
                        "src": "229:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "193:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "193:6:136"
                    },
                    "nativeSrc": "193:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "193:38:136"
                  },
                  "nativeSrc": "193:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "193:38:136"
                },
                {
                  "nativeSrc": "240:57:136",
                  "nodeType": "YulAssignment",
                  "src": "240:57:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "255:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "255:3:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "268:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "268:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "276:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "276:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "264:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "264:3:136"
                                },
                                "nativeSrc": "264:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "264:15:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "285:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "285:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "281:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "281:3:136"
                                },
                                "nativeSrc": "281:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "281:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "260:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "260:3:136"
                            },
                            "nativeSrc": "260:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "260:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "251:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "251:3:136"
                        },
                        "nativeSrc": "251:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "251:39:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "292:4:136",
                        "nodeType": "YulLiteral",
                        "src": "292:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "247:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "247:3:136"
                    },
                    "nativeSrc": "247:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "247:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "240:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "240:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string",
            "nativeSrc": "14:289:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "41:5:136",
                "nodeType": "YulTypedName",
                "src": "41:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "48:3:136",
                "nodeType": "YulTypedName",
                "src": "48:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "56:3:136",
                "nodeType": "YulTypedName",
                "src": "56:3:136",
                "type": ""
              }
            ],
            "src": "14:289:136"
          },
          {
            "body": {
              "nativeSrc": "369:359:136",
              "nodeType": "YulBlock",
              "src": "369:359:136",
              "statements": [
                {
                  "nativeSrc": "379:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "379:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "399:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "399:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "393:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "393:5:136"
                    },
                    "nativeSrc": "393:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "393:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "383:6:136",
                      "nodeType": "YulTypedName",
                      "src": "383:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "421:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "421:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "426:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "426:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "414:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "414:6:136"
                    },
                    "nativeSrc": "414:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "414:19:136"
                  },
                  "nativeSrc": "414:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "414:19:136"
                },
                {
                  "nativeSrc": "442:21:136",
                  "nodeType": "YulAssignment",
                  "src": "442:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "453:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "453:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "458:4:136",
                        "nodeType": "YulLiteral",
                        "src": "458:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "449:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "449:3:136"
                    },
                    "nativeSrc": "449:14:136",
                    "nodeType": "YulFunctionCall",
                    "src": "449:14:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "442:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "442:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "472:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "472:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "490:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "490:5:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "497:4:136",
                        "nodeType": "YulLiteral",
                        "src": "497:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "486:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "486:3:136"
                    },
                    "nativeSrc": "486:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "486:16:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "476:6:136",
                      "nodeType": "YulTypedName",
                      "src": "476:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "511:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "511:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "520:1:136",
                    "nodeType": "YulLiteral",
                    "src": "520:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "515:1:136",
                      "nodeType": "YulTypedName",
                      "src": "515:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "579:124:136",
                    "nodeType": "YulBlock",
                    "src": "579:124:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "600:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "600:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr",
                                  "nativeSrc": "611:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "611:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "605:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "605:5:136"
                              },
                              "nativeSrc": "605:13:136",
                              "nodeType": "YulFunctionCall",
                              "src": "605:13:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "593:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "593:6:136"
                          },
                          "nativeSrc": "593:26:136",
                          "nodeType": "YulFunctionCall",
                          "src": "593:26:136"
                        },
                        "nativeSrc": "593:26:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "593:26:136"
                      },
                      {
                        "nativeSrc": "632:21:136",
                        "nodeType": "YulAssignment",
                        "src": "632:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "643:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "643:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "648:4:136",
                              "nodeType": "YulLiteral",
                              "src": "648:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "639:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "639:3:136"
                          },
                          "nativeSrc": "639:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "639:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "632:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "632:3:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "666:27:136",
                        "nodeType": "YulAssignment",
                        "src": "666:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "680:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "680:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "688:4:136",
                              "nodeType": "YulLiteral",
                              "src": "688:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "676:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "676:3:136"
                          },
                          "nativeSrc": "676:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "676:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "666:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "666:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "541:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "541:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "544:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "544:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "538:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "538:2:136"
                    },
                    "nativeSrc": "538:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "538:13:136"
                  },
                  "nativeSrc": "530:173:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "552:18:136",
                    "nodeType": "YulBlock",
                    "src": "552:18:136",
                    "statements": [
                      {
                        "nativeSrc": "554:14:136",
                        "nodeType": "YulAssignment",
                        "src": "554:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "563:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "563:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "566:1:136",
                              "nodeType": "YulLiteral",
                              "src": "566:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "559:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "559:3:136"
                          },
                          "nativeSrc": "559:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "559:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "554:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "554:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "534:3:136",
                    "nodeType": "YulBlock",
                    "src": "534:3:136",
                    "statements": []
                  },
                  "src": "530:173:136"
                },
                {
                  "nativeSrc": "712:10:136",
                  "nodeType": "YulAssignment",
                  "src": "712:10:136",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "719:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "719:3:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "712:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "712:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_array_bytes32_dyn",
            "nativeSrc": "308:420:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "346:5:136",
                "nodeType": "YulTypedName",
                "src": "346:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "353:3:136",
                "nodeType": "YulTypedName",
                "src": "353:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "361:3:136",
                "nodeType": "YulTypedName",
                "src": "361:3:136",
                "type": ""
              }
            ],
            "src": "308:420:136"
          },
          {
            "body": {
              "nativeSrc": "1066:1182:136",
              "nodeType": "YulBlock",
              "src": "1066:1182:136",
              "statements": [
                {
                  "nativeSrc": "1076:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1076:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1094:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1094:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1105:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1105:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1090:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1090:3:136"
                    },
                    "nativeSrc": "1090:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1090:18:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "1080:6:136",
                      "nodeType": "YulTypedName",
                      "src": "1080:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1124:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1124:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1135:2:136",
                        "nodeType": "YulLiteral",
                        "src": "1135:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1117:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1117:6:136"
                    },
                    "nativeSrc": "1117:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1117:21:136"
                  },
                  "nativeSrc": "1117:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1117:21:136"
                },
                {
                  "nativeSrc": "1147:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1147:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "1158:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "1158:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "1151:3:136",
                      "nodeType": "YulTypedName",
                      "src": "1151:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1173:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1173:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "1193:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1193:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1187:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1187:5:136"
                    },
                    "nativeSrc": "1187:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1187:13:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "1177:6:136",
                      "nodeType": "YulTypedName",
                      "src": "1177:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "1216:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1216:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1224:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1224:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1209:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1209:6:136"
                    },
                    "nativeSrc": "1209:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1209:22:136"
                  },
                  "nativeSrc": "1209:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1209:22:136"
                },
                {
                  "nativeSrc": "1240:26:136",
                  "nodeType": "YulAssignment",
                  "src": "1240:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "1251:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "1251:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1262:3:136",
                        "nodeType": "YulLiteral",
                        "src": "1262:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1247:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1247:3:136"
                    },
                    "nativeSrc": "1247:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1247:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "1240:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1240:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "1275:31:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1275:31:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "1293:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1293:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1301:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1301:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1289:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1289:3:136"
                    },
                    "nativeSrc": "1289:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1289:17:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "1279:6:136",
                      "nodeType": "YulTypedName",
                      "src": "1279:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1315:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1315:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "1324:1:136",
                    "nodeType": "YulLiteral",
                    "src": "1324:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "1319:1:136",
                      "nodeType": "YulTypedName",
                      "src": "1319:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1383:151:136",
                    "nodeType": "YulBlock",
                    "src": "1383:151:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "1404:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1404:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "srcPtr",
                                      "nativeSrc": "1419:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "1419:6:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "mload",
                                    "nativeSrc": "1413:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1413:5:136"
                                  },
                                  "nativeSrc": "1413:13:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "1413:13:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "1432:3:136",
                                      "nodeType": "YulLiteral",
                                      "src": "1432:3:136",
                                      "type": "",
                                      "value": "224"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "1437:10:136",
                                      "nodeType": "YulLiteral",
                                      "src": "1437:10:136",
                                      "type": "",
                                      "value": "0xffffffff"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "shl",
                                    "nativeSrc": "1428:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1428:3:136"
                                  },
                                  "nativeSrc": "1428:20:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "1428:20:136"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "1409:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "1409:3:136"
                              },
                              "nativeSrc": "1409:40:136",
                              "nodeType": "YulFunctionCall",
                              "src": "1409:40:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "1397:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1397:6:136"
                          },
                          "nativeSrc": "1397:53:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1397:53:136"
                        },
                        "nativeSrc": "1397:53:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1397:53:136"
                      },
                      {
                        "nativeSrc": "1463:21:136",
                        "nodeType": "YulAssignment",
                        "src": "1463:21:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "1474:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1474:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1479:4:136",
                              "nodeType": "YulLiteral",
                              "src": "1479:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "1470:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1470:3:136"
                          },
                          "nativeSrc": "1470:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1470:14:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "1463:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1463:3:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "1497:27:136",
                        "nodeType": "YulAssignment",
                        "src": "1497:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "1511:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "1511:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1519:4:136",
                              "nodeType": "YulLiteral",
                              "src": "1519:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "1507:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1507:3:136"
                          },
                          "nativeSrc": "1507:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1507:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "1497:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1497:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "1345:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "1345:1:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "1348:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1348:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "1342:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "1342:2:136"
                    },
                    "nativeSrc": "1342:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1342:13:136"
                  },
                  "nativeSrc": "1334:200:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "1356:18:136",
                    "nodeType": "YulBlock",
                    "src": "1356:18:136",
                    "statements": [
                      {
                        "nativeSrc": "1358:14:136",
                        "nodeType": "YulAssignment",
                        "src": "1358:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "1367:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "1367:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1370:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1370:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "1363:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1363:3:136"
                          },
                          "nativeSrc": "1363:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1363:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "1358:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "1358:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "1338:3:136",
                    "nodeType": "YulBlock",
                    "src": "1338:3:136",
                    "statements": []
                  },
                  "src": "1334:200:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "1554:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "1554:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "1565:4:136",
                            "nodeType": "YulLiteral",
                            "src": "1565:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1550:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1550:3:136"
                        },
                        "nativeSrc": "1550:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1550:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1576:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1576:3:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "1581:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "1581:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "1572:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1572:3:136"
                        },
                        "nativeSrc": "1572:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1572:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1543:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1543:6:136"
                    },
                    "nativeSrc": "1543:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1543:49:136"
                  },
                  "nativeSrc": "1543:49:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1543:49:136"
                },
                {
                  "nativeSrc": "1601:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1601:16:136",
                  "value": {
                    "name": "pos",
                    "nativeSrc": "1614:3:136",
                    "nodeType": "YulIdentifier",
                    "src": "1614:3:136"
                  },
                  "variables": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "1605:5:136",
                      "nodeType": "YulTypedName",
                      "src": "1605:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1626:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1626:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "1648:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1648:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "1642:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1642:5:136"
                    },
                    "nativeSrc": "1642:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1642:13:136"
                  },
                  "variables": [
                    {
                      "name": "length_1",
                      "nativeSrc": "1630:8:136",
                      "nodeType": "YulTypedName",
                      "src": "1630:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1671:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1671:3:136"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "1676:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "1676:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "1664:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "1664:6:136"
                    },
                    "nativeSrc": "1664:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1664:21:136"
                  },
                  "nativeSrc": "1664:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "1664:21:136"
                },
                {
                  "nativeSrc": "1694:23:136",
                  "nodeType": "YulAssignment",
                  "src": "1694:23:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "1707:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1707:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1712:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1712:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1703:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1703:3:136"
                    },
                    "nativeSrc": "1703:14:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1703:14:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos_1",
                      "nativeSrc": "1694:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "1694:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "1726:51:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1726:51:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "1748:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1748:3:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "1757:1:136",
                                "nodeType": "YulLiteral",
                                "src": "1757:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "length_1",
                                "nativeSrc": "1760:8:136",
                                "nodeType": "YulIdentifier",
                                "src": "1760:8:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "1753:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1753:3:136"
                            },
                            "nativeSrc": "1753:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "1753:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "1744:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "1744:3:136"
                        },
                        "nativeSrc": "1744:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "1744:26:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1772:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1772:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1740:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1740:3:136"
                    },
                    "nativeSrc": "1740:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1740:37:136"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "1730:6:136",
                      "nodeType": "YulTypedName",
                      "src": "1730:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1786:33:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1786:33:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value1",
                        "nativeSrc": "1806:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "1806:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "1814:4:136",
                        "nodeType": "YulLiteral",
                        "src": "1814:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "1802:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "1802:3:136"
                    },
                    "nativeSrc": "1802:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1802:17:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr_1",
                      "nativeSrc": "1790:8:136",
                      "nodeType": "YulTypedName",
                      "src": "1790:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "1828:12:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "1828:12:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "1839:1:136",
                    "nodeType": "YulLiteral",
                    "src": "1839:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i_1",
                      "nativeSrc": "1832:3:136",
                      "nodeType": "YulTypedName",
                      "src": "1832:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "1906:216:136",
                    "nodeType": "YulBlock",
                    "src": "1906:216:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "1927:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "1927:5:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "1942:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "1942:6:136"
                                    },
                                    {
                                      "name": "pos",
                                      "nativeSrc": "1950:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "1950:3:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "1938:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1938:3:136"
                                  },
                                  "nativeSrc": "1938:16:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "1938:16:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "1960:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "1960:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "1956:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "1956:3:136"
                                  },
                                  "nativeSrc": "1956:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "1956:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "1934:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "1934:3:136"
                              },
                              "nativeSrc": "1934:30:136",
                              "nodeType": "YulFunctionCall",
                              "src": "1934:30:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "1920:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1920:6:136"
                          },
                          "nativeSrc": "1920:45:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1920:45:136"
                        },
                        "nativeSrc": "1920:45:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "1920:45:136"
                      },
                      {
                        "nativeSrc": "1978:52:136",
                        "nodeType": "YulAssignment",
                        "src": "1978:52:136",
                        "value": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "srcPtr_1",
                                  "nativeSrc": "2012:8:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2012:8:136"
                                }
                              ],
                              "functionName": {
                                "name": "mload",
                                "nativeSrc": "2006:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "2006:5:136"
                              },
                              "nativeSrc": "2006:15:136",
                              "nodeType": "YulFunctionCall",
                              "src": "2006:15:136"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "2023:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "2023:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string",
                            "nativeSrc": "1988:17:136",
                            "nodeType": "YulIdentifier",
                            "src": "1988:17:136"
                          },
                          "nativeSrc": "1988:42:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1988:42:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "1978:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "1978:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "2043:31:136",
                        "nodeType": "YulAssignment",
                        "src": "2043:31:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr_1",
                              "nativeSrc": "2059:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "2059:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2069:4:136",
                              "nodeType": "YulLiteral",
                              "src": "2069:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2055:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2055:3:136"
                          },
                          "nativeSrc": "2055:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2055:19:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr_1",
                            "nativeSrc": "2043:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "2043:8:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "2087:25:136",
                        "nodeType": "YulAssignment",
                        "src": "2087:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos_1",
                              "nativeSrc": "2100:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "2100:5:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2107:4:136",
                              "nodeType": "YulLiteral",
                              "src": "2107:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "2096:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2096:3:136"
                          },
                          "nativeSrc": "2096:16:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2096:16:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos_1",
                            "nativeSrc": "2087:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "2087:5:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i_1",
                        "nativeSrc": "1860:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "1860:3:136"
                      },
                      {
                        "name": "length_1",
                        "nativeSrc": "1865:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "1865:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "1857:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "1857:2:136"
                    },
                    "nativeSrc": "1857:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "1857:17:136"
                  },
                  "nativeSrc": "1849:273:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "1875:22:136",
                    "nodeType": "YulBlock",
                    "src": "1875:22:136",
                    "statements": [
                      {
                        "nativeSrc": "1877:18:136",
                        "nodeType": "YulAssignment",
                        "src": "1877:18:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i_1",
                              "nativeSrc": "1888:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "1888:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "1893:1:136",
                              "nodeType": "YulLiteral",
                              "src": "1893:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "1884:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1884:3:136"
                          },
                          "nativeSrc": "1884:11:136",
                          "nodeType": "YulFunctionCall",
                          "src": "1884:11:136"
                        },
                        "variableNames": [
                          {
                            "name": "i_1",
                            "nativeSrc": "1877:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "1877:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "1853:3:136",
                    "nodeType": "YulBlock",
                    "src": "1853:3:136",
                    "statements": []
                  },
                  "src": "1849:273:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "2142:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2142:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2153:2:136",
                            "nodeType": "YulLiteral",
                            "src": "2153:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2138:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2138:3:136"
                        },
                        "nativeSrc": "2138:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2138:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "2162:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2162:6:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "2170:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2170:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2158:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2158:3:136"
                        },
                        "nativeSrc": "2158:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2158:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "2131:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2131:6:136"
                    },
                    "nativeSrc": "2131:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2131:50:136"
                  },
                  "nativeSrc": "2131:50:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "2131:50:136"
                },
                {
                  "nativeSrc": "2190:52:136",
                  "nodeType": "YulAssignment",
                  "src": "2190:52:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value2",
                        "nativeSrc": "2227:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2227:6:136"
                      },
                      {
                        "name": "tail_2",
                        "nativeSrc": "2235:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2235:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_array_bytes32_dyn",
                      "nativeSrc": "2198:28:136",
                      "nodeType": "YulIdentifier",
                      "src": "2198:28:136"
                    },
                    "nativeSrc": "2198:44:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2198:44:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "2190:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "2190:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_array$_t_bytes4_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes4_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "733:1515:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "1019:9:136",
                "nodeType": "YulTypedName",
                "src": "1019:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "1030:6:136",
                "nodeType": "YulTypedName",
                "src": "1030:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "1038:6:136",
                "nodeType": "YulTypedName",
                "src": "1038:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "1046:6:136",
                "nodeType": "YulTypedName",
                "src": "1046:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "1057:4:136",
                "nodeType": "YulTypedName",
                "src": "1057:4:136",
                "type": ""
              }
            ],
            "src": "733:1515:136"
          },
          {
            "body": {
              "nativeSrc": "2326:275:136",
              "nodeType": "YulBlock",
              "src": "2326:275:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2375:16:136",
                    "nodeType": "YulBlock",
                    "src": "2375:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2384:1:136",
                              "nodeType": "YulLiteral",
                              "src": "2384:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2387:1:136",
                              "nodeType": "YulLiteral",
                              "src": "2387:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2377:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2377:6:136"
                          },
                          "nativeSrc": "2377:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2377:12:136"
                        },
                        "nativeSrc": "2377:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "2377:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "2354:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "2354:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "2362:4:136",
                                "nodeType": "YulLiteral",
                                "src": "2362:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2350:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2350:3:136"
                            },
                            "nativeSrc": "2350:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2350:17:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "2369:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "2369:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "2346:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2346:3:136"
                        },
                        "nativeSrc": "2346:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2346:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "2339:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2339:6:136"
                    },
                    "nativeSrc": "2339:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2339:35:136"
                  },
                  "nativeSrc": "2336:55:136",
                  "nodeType": "YulIf",
                  "src": "2336:55:136"
                },
                {
                  "nativeSrc": "2400:30:136",
                  "nodeType": "YulAssignment",
                  "src": "2400:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2423:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2423:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2410:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "2410:12:136"
                    },
                    "nativeSrc": "2410:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2410:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "2400:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2400:6:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2473:16:136",
                    "nodeType": "YulBlock",
                    "src": "2473:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2482:1:136",
                              "nodeType": "YulLiteral",
                              "src": "2482:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2485:1:136",
                              "nodeType": "YulLiteral",
                              "src": "2485:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2475:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2475:6:136"
                          },
                          "nativeSrc": "2475:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2475:12:136"
                        },
                        "nativeSrc": "2475:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "2475:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "2445:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2445:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2453:18:136",
                        "nodeType": "YulLiteral",
                        "src": "2453:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2442:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "2442:2:136"
                    },
                    "nativeSrc": "2442:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2442:30:136"
                  },
                  "nativeSrc": "2439:50:136",
                  "nodeType": "YulIf",
                  "src": "2439:50:136"
                },
                {
                  "nativeSrc": "2498:29:136",
                  "nodeType": "YulAssignment",
                  "src": "2498:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "2514:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "2514:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2522:4:136",
                        "nodeType": "YulLiteral",
                        "src": "2522:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "2510:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2510:3:136"
                    },
                    "nativeSrc": "2510:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2510:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "arrayPos",
                      "nativeSrc": "2498:8:136",
                      "nodeType": "YulIdentifier",
                      "src": "2498:8:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "2579:16:136",
                    "nodeType": "YulBlock",
                    "src": "2579:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2588:1:136",
                              "nodeType": "YulLiteral",
                              "src": "2588:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2591:1:136",
                              "nodeType": "YulLiteral",
                              "src": "2591:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2581:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2581:6:136"
                          },
                          "nativeSrc": "2581:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2581:12:136"
                        },
                        "nativeSrc": "2581:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "2581:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "offset",
                                "nativeSrc": "2550:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "2550:6:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "2558:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "2558:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "2546:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2546:3:136"
                            },
                            "nativeSrc": "2546:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2546:19:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "2567:4:136",
                            "nodeType": "YulLiteral",
                            "src": "2567:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "2542:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2542:3:136"
                        },
                        "nativeSrc": "2542:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2542:30:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "2574:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "2574:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "2539:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "2539:2:136"
                    },
                    "nativeSrc": "2539:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2539:39:136"
                  },
                  "nativeSrc": "2536:59:136",
                  "nodeType": "YulIf",
                  "src": "2536:59:136"
                }
              ]
            },
            "name": "abi_decode_string_calldata",
            "nativeSrc": "2253:348:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "2289:6:136",
                "nodeType": "YulTypedName",
                "src": "2289:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "2297:3:136",
                "nodeType": "YulTypedName",
                "src": "2297:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "arrayPos",
                "nativeSrc": "2305:8:136",
                "nodeType": "YulTypedName",
                "src": "2305:8:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "2315:6:136",
                "nodeType": "YulTypedName",
                "src": "2315:6:136",
                "type": ""
              }
            ],
            "src": "2253:348:136"
          },
          {
            "body": {
              "nativeSrc": "2651:86:136",
              "nodeType": "YulBlock",
              "src": "2651:86:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2715:16:136",
                    "nodeType": "YulBlock",
                    "src": "2715:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2724:1:136",
                              "nodeType": "YulLiteral",
                              "src": "2724:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2727:1:136",
                              "nodeType": "YulLiteral",
                              "src": "2727:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2717:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2717:6:136"
                          },
                          "nativeSrc": "2717:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2717:12:136"
                        },
                        "nativeSrc": "2717:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "2717:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "2674:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "2674:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "2685:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "2685:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "2700:3:136",
                                        "nodeType": "YulLiteral",
                                        "src": "2700:3:136",
                                        "type": "",
                                        "value": "160"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "2705:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "2705:1:136",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "2696:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "2696:3:136"
                                    },
                                    "nativeSrc": "2696:11:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "2696:11:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "2709:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "2709:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "sub",
                                  "nativeSrc": "2692:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "2692:3:136"
                                },
                                "nativeSrc": "2692:19:136",
                                "nodeType": "YulFunctionCall",
                                "src": "2692:19:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "2681:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "2681:3:136"
                            },
                            "nativeSrc": "2681:31:136",
                            "nodeType": "YulFunctionCall",
                            "src": "2681:31:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "2671:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "2671:2:136"
                        },
                        "nativeSrc": "2671:42:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2671:42:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "2664:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "2664:6:136"
                    },
                    "nativeSrc": "2664:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2664:50:136"
                  },
                  "nativeSrc": "2661:70:136",
                  "nodeType": "YulIf",
                  "src": "2661:70:136"
                }
              ]
            },
            "name": "validator_revert_address",
            "nativeSrc": "2606:131:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "2640:5:136",
                "nodeType": "YulTypedName",
                "src": "2640:5:136",
                "type": ""
              }
            ],
            "src": "2606:131:136"
          },
          {
            "body": {
              "nativeSrc": "2913:891:136",
              "nodeType": "YulBlock",
              "src": "2913:891:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "2959:16:136",
                    "nodeType": "YulBlock",
                    "src": "2959:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "2968:1:136",
                              "nodeType": "YulLiteral",
                              "src": "2968:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "2971:1:136",
                              "nodeType": "YulLiteral",
                              "src": "2971:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "2961:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "2961:6:136"
                          },
                          "nativeSrc": "2961:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "2961:12:136"
                        },
                        "nativeSrc": "2961:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "2961:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "2934:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "2934:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "2943:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "2943:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "2930:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "2930:3:136"
                        },
                        "nativeSrc": "2930:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "2930:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "2955:2:136",
                        "nodeType": "YulLiteral",
                        "src": "2955:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "2926:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "2926:3:136"
                    },
                    "nativeSrc": "2926:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2926:32:136"
                  },
                  "nativeSrc": "2923:52:136",
                  "nodeType": "YulIf",
                  "src": "2923:52:136"
                },
                {
                  "nativeSrc": "2984:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "2984:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3011:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "3011:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "2998:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "2998:12:136"
                    },
                    "nativeSrc": "2998:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "2998:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "2988:6:136",
                      "nodeType": "YulTypedName",
                      "src": "2988:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3064:16:136",
                    "nodeType": "YulBlock",
                    "src": "3064:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3073:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3073:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3076:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3076:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3066:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3066:6:136"
                          },
                          "nativeSrc": "3066:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3066:12:136"
                        },
                        "nativeSrc": "3066:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3066:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "3036:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3036:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3044:18:136",
                        "nodeType": "YulLiteral",
                        "src": "3044:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "3033:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "3033:2:136"
                    },
                    "nativeSrc": "3033:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3033:30:136"
                  },
                  "nativeSrc": "3030:50:136",
                  "nodeType": "YulIf",
                  "src": "3030:50:136"
                },
                {
                  "nativeSrc": "3089:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3089:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3146:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3146:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "3157:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3157:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3142:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3142:3:136"
                        },
                        "nativeSrc": "3142:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3142:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "3166:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "3166:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "3115:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "3115:26:136"
                    },
                    "nativeSrc": "3115:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3115:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "3093:8:136",
                      "nodeType": "YulTypedName",
                      "src": "3093:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "3103:8:136",
                      "nodeType": "YulTypedName",
                      "src": "3103:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "3183:18:136",
                  "nodeType": "YulAssignment",
                  "src": "3183:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "3193:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "3193:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "3183:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3183:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "3210:18:136",
                  "nodeType": "YulAssignment",
                  "src": "3210:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "3220:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "3220:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "3210:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3210:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "3237:45:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3237:45:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3267:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3267:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3278:2:136",
                            "nodeType": "YulLiteral",
                            "src": "3278:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3263:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3263:3:136"
                        },
                        "nativeSrc": "3263:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3263:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3250:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "3250:12:136"
                    },
                    "nativeSrc": "3250:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3250:32:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "3241:5:136",
                      "nodeType": "YulTypedName",
                      "src": "3241:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "3316:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "3316:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "3291:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "3291:24:136"
                    },
                    "nativeSrc": "3291:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3291:31:136"
                  },
                  "nativeSrc": "3291:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3291:31:136"
                },
                {
                  "nativeSrc": "3331:15:136",
                  "nodeType": "YulAssignment",
                  "src": "3331:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "3341:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "3341:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "3331:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3331:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "3355:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3355:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "3388:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "3388:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3399:2:136",
                            "nodeType": "YulLiteral",
                            "src": "3399:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3384:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3384:3:136"
                        },
                        "nativeSrc": "3384:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3384:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3371:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "3371:12:136"
                    },
                    "nativeSrc": "3371:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3371:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "3359:8:136",
                      "nodeType": "YulTypedName",
                      "src": "3359:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3448:16:136",
                    "nodeType": "YulBlock",
                    "src": "3448:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3457:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3457:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3460:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3460:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3450:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3450:6:136"
                          },
                          "nativeSrc": "3450:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3450:12:136"
                        },
                        "nativeSrc": "3450:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3450:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "3418:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "3418:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3428:18:136",
                        "nodeType": "YulLiteral",
                        "src": "3428:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "3415:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "3415:2:136"
                    },
                    "nativeSrc": "3415:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3415:32:136"
                  },
                  "nativeSrc": "3412:52:136",
                  "nodeType": "YulIf",
                  "src": "3412:52:136"
                },
                {
                  "nativeSrc": "3473:34:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3473:34:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "3487:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "3487:9:136"
                      },
                      {
                        "name": "offset_1",
                        "nativeSrc": "3498:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "3498:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3483:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "3483:3:136"
                    },
                    "nativeSrc": "3483:24:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3483:24:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "3477:2:136",
                      "nodeType": "YulTypedName",
                      "src": "3477:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3555:16:136",
                    "nodeType": "YulBlock",
                    "src": "3555:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3564:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3564:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3567:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3567:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3557:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3557:6:136"
                          },
                          "nativeSrc": "3557:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3557:12:136"
                        },
                        "nativeSrc": "3557:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3557:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "3534:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "3534:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "3538:4:136",
                                "nodeType": "YulLiteral",
                                "src": "3538:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3530:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3530:3:136"
                            },
                            "nativeSrc": "3530:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "3530:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "3545:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "3545:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "3526:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3526:3:136"
                        },
                        "nativeSrc": "3526:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3526:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "3519:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3519:6:136"
                    },
                    "nativeSrc": "3519:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3519:35:136"
                  },
                  "nativeSrc": "3516:55:136",
                  "nodeType": "YulIf",
                  "src": "3516:55:136"
                },
                {
                  "nativeSrc": "3580:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "3580:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "3607:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "3607:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "3594:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "3594:12:136"
                    },
                    "nativeSrc": "3594:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3594:16:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "3584:6:136",
                      "nodeType": "YulTypedName",
                      "src": "3584:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "3653:16:136",
                    "nodeType": "YulBlock",
                    "src": "3653:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3662:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3662:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3665:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3665:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3655:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3655:6:136"
                          },
                          "nativeSrc": "3655:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3655:12:136"
                        },
                        "nativeSrc": "3655:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3655:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "3625:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "3625:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3633:18:136",
                        "nodeType": "YulLiteral",
                        "src": "3633:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "3622:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "3622:2:136"
                    },
                    "nativeSrc": "3622:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3622:30:136"
                  },
                  "nativeSrc": "3619:50:136",
                  "nodeType": "YulIf",
                  "src": "3619:50:136"
                },
                {
                  "body": {
                    "nativeSrc": "3727:16:136",
                    "nodeType": "YulBlock",
                    "src": "3727:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3736:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3736:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3739:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3739:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3729:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3729:6:136"
                          },
                          "nativeSrc": "3729:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3729:12:136"
                        },
                        "nativeSrc": "3729:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3729:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "3692:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "3692:2:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3700:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "3700:1:136",
                                    "type": "",
                                    "value": "5"
                                  },
                                  {
                                    "name": "length",
                                    "nativeSrc": "3703:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "3703:6:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "3696:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "3696:3:136"
                                },
                                "nativeSrc": "3696:14:136",
                                "nodeType": "YulFunctionCall",
                                "src": "3696:14:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "3688:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3688:3:136"
                            },
                            "nativeSrc": "3688:23:136",
                            "nodeType": "YulFunctionCall",
                            "src": "3688:23:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "3713:2:136",
                            "nodeType": "YulLiteral",
                            "src": "3713:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "3684:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3684:3:136"
                        },
                        "nativeSrc": "3684:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3684:32:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "3718:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "3718:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "3681:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "3681:2:136"
                    },
                    "nativeSrc": "3681:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3681:45:136"
                  },
                  "nativeSrc": "3678:65:136",
                  "nodeType": "YulIf",
                  "src": "3678:65:136"
                },
                {
                  "nativeSrc": "3752:21:136",
                  "nodeType": "YulAssignment",
                  "src": "3752:21:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "3766:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "3766:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "3770:2:136",
                        "nodeType": "YulLiteral",
                        "src": "3770:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "3762:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "3762:3:136"
                    },
                    "nativeSrc": "3762:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3762:11:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "3752:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3752:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "3782:16:136",
                  "nodeType": "YulAssignment",
                  "src": "3782:16:136",
                  "value": {
                    "name": "length",
                    "nativeSrc": "3792:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "3792:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value4",
                      "nativeSrc": "3782:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3782:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_addresst_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
            "nativeSrc": "2742:1062:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "2847:9:136",
                "nodeType": "YulTypedName",
                "src": "2847:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "2858:7:136",
                "nodeType": "YulTypedName",
                "src": "2858:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "2870:6:136",
                "nodeType": "YulTypedName",
                "src": "2870:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "2878:6:136",
                "nodeType": "YulTypedName",
                "src": "2878:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "2886:6:136",
                "nodeType": "YulTypedName",
                "src": "2886:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "2894:6:136",
                "nodeType": "YulTypedName",
                "src": "2894:6:136",
                "type": ""
              },
              {
                "name": "value4",
                "nativeSrc": "2902:6:136",
                "nodeType": "YulTypedName",
                "src": "2902:6:136",
                "type": ""
              }
            ],
            "src": "2742:1062:136"
          },
          {
            "body": {
              "nativeSrc": "3853:87:136",
              "nodeType": "YulBlock",
              "src": "3853:87:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "3918:16:136",
                    "nodeType": "YulBlock",
                    "src": "3918:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "3927:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3927:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "3930:1:136",
                              "nodeType": "YulLiteral",
                              "src": "3930:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "3920:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "3920:6:136"
                          },
                          "nativeSrc": "3920:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "3920:12:136"
                        },
                        "nativeSrc": "3920:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "3920:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "3876:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "3876:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "3887:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "3887:5:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3898:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "3898:3:136",
                                    "type": "",
                                    "value": "224"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "3903:10:136",
                                    "nodeType": "YulLiteral",
                                    "src": "3903:10:136",
                                    "type": "",
                                    "value": "0xffffffff"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "3894:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "3894:3:136"
                                },
                                "nativeSrc": "3894:20:136",
                                "nodeType": "YulFunctionCall",
                                "src": "3894:20:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "3883:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "3883:3:136"
                            },
                            "nativeSrc": "3883:32:136",
                            "nodeType": "YulFunctionCall",
                            "src": "3883:32:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "3873:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "3873:2:136"
                        },
                        "nativeSrc": "3873:43:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3873:43:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "3866:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3866:6:136"
                    },
                    "nativeSrc": "3866:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3866:51:136"
                  },
                  "nativeSrc": "3863:71:136",
                  "nodeType": "YulIf",
                  "src": "3863:71:136"
                }
              ]
            },
            "name": "validator_revert_bytes4",
            "nativeSrc": "3809:131:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "3842:5:136",
                "nodeType": "YulTypedName",
                "src": "3842:5:136",
                "type": ""
              }
            ],
            "src": "3809:131:136"
          },
          {
            "body": {
              "nativeSrc": "3977:95:136",
              "nodeType": "YulBlock",
              "src": "3977:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "3994:1:136",
                        "nodeType": "YulLiteral",
                        "src": "3994:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "4001:3:136",
                            "nodeType": "YulLiteral",
                            "src": "4001:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4006:10:136",
                            "nodeType": "YulLiteral",
                            "src": "4006:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "3997:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "3997:3:136"
                        },
                        "nativeSrc": "3997:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "3997:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "3987:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "3987:6:136"
                    },
                    "nativeSrc": "3987:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "3987:31:136"
                  },
                  "nativeSrc": "3987:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "3987:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "4034:1:136",
                        "nodeType": "YulLiteral",
                        "src": "4034:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4037:4:136",
                        "nodeType": "YulLiteral",
                        "src": "4037:4:136",
                        "type": "",
                        "value": "0x41"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4027:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4027:6:136"
                    },
                    "nativeSrc": "4027:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4027:15:136"
                  },
                  "nativeSrc": "4027:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4027:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "4058:1:136",
                        "nodeType": "YulLiteral",
                        "src": "4058:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4061:4:136",
                        "nodeType": "YulLiteral",
                        "src": "4061:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "4051:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4051:6:136"
                    },
                    "nativeSrc": "4051:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4051:15:136"
                  },
                  "nativeSrc": "4051:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4051:15:136"
                }
              ]
            },
            "name": "panic_error_0x41",
            "nativeSrc": "3945:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "3945:127:136"
          },
          {
            "body": {
              "nativeSrc": "4118:207:136",
              "nodeType": "YulBlock",
              "src": "4118:207:136",
              "statements": [
                {
                  "nativeSrc": "4128:19:136",
                  "nodeType": "YulAssignment",
                  "src": "4128:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "4144:2:136",
                        "nodeType": "YulLiteral",
                        "src": "4144:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4138:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "4138:5:136"
                    },
                    "nativeSrc": "4138:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4138:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "4128:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4128:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "4156:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4156:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "4178:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4178:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4186:4:136",
                        "nodeType": "YulLiteral",
                        "src": "4186:4:136",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4174:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "4174:3:136"
                    },
                    "nativeSrc": "4174:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4174:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "4160:10:136",
                      "nodeType": "YulTypedName",
                      "src": "4160:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4266:22:136",
                    "nodeType": "YulBlock",
                    "src": "4266:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "4268:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "4268:16:136"
                          },
                          "nativeSrc": "4268:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4268:18:136"
                        },
                        "nativeSrc": "4268:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4268:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "4209:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "4209:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4221:18:136",
                            "nodeType": "YulLiteral",
                            "src": "4221:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "4206:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "4206:2:136"
                        },
                        "nativeSrc": "4206:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4206:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "4245:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "4245:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "4257:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4257:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "4242:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "4242:2:136"
                        },
                        "nativeSrc": "4242:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4242:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "4203:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "4203:2:136"
                    },
                    "nativeSrc": "4203:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4203:62:136"
                  },
                  "nativeSrc": "4200:88:136",
                  "nodeType": "YulIf",
                  "src": "4200:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "4304:2:136",
                        "nodeType": "YulLiteral",
                        "src": "4304:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "4308:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "4308:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4297:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4297:6:136"
                    },
                    "nativeSrc": "4297:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4297:22:136"
                  },
                  "nativeSrc": "4297:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4297:22:136"
                }
              ]
            },
            "name": "allocate_memory",
            "nativeSrc": "4077:248:136",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "4107:6:136",
                "nodeType": "YulTypedName",
                "src": "4107:6:136",
                "type": ""
              }
            ],
            "src": "4077:248:136"
          },
          {
            "body": {
              "nativeSrc": "4376:211:136",
              "nodeType": "YulBlock",
              "src": "4376:211:136",
              "statements": [
                {
                  "nativeSrc": "4386:21:136",
                  "nodeType": "YulAssignment",
                  "src": "4386:21:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "4402:4:136",
                        "nodeType": "YulLiteral",
                        "src": "4402:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "4396:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "4396:5:136"
                    },
                    "nativeSrc": "4396:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4396:11:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "4386:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4386:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "4416:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "4416:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "4438:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4438:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "4446:4:136",
                        "nodeType": "YulLiteral",
                        "src": "4446:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "4434:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "4434:3:136"
                    },
                    "nativeSrc": "4434:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4434:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "4420:10:136",
                      "nodeType": "YulTypedName",
                      "src": "4420:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4526:22:136",
                    "nodeType": "YulBlock",
                    "src": "4526:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "4528:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "4528:16:136"
                          },
                          "nativeSrc": "4528:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4528:18:136"
                        },
                        "nativeSrc": "4528:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4528:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "4469:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "4469:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "4481:18:136",
                            "nodeType": "YulLiteral",
                            "src": "4481:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "4466:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "4466:2:136"
                        },
                        "nativeSrc": "4466:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4466:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "4505:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "4505:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "4517:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4517:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "4502:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "4502:2:136"
                        },
                        "nativeSrc": "4502:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4502:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "4463:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "4463:2:136"
                    },
                    "nativeSrc": "4463:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4463:62:136"
                  },
                  "nativeSrc": "4460:88:136",
                  "nodeType": "YulIf",
                  "src": "4460:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "4564:4:136",
                        "nodeType": "YulLiteral",
                        "src": "4564:4:136",
                        "type": "",
                        "value": "0x40"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "4570:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "4570:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "4557:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4557:6:136"
                    },
                    "nativeSrc": "4557:24:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4557:24:136"
                  },
                  "nativeSrc": "4557:24:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "4557:24:136"
                }
              ]
            },
            "name": "allocate_memory_3780",
            "nativeSrc": "4330:257:136",
            "nodeType": "YulFunctionDefinition",
            "returnVariables": [
              {
                "name": "memPtr",
                "nativeSrc": "4365:6:136",
                "nodeType": "YulTypedName",
                "src": "4365:6:136",
                "type": ""
              }
            ],
            "src": "4330:257:136"
          },
          {
            "body": {
              "nativeSrc": "4640:111:136",
              "nodeType": "YulBlock",
              "src": "4640:111:136",
              "statements": [
                {
                  "nativeSrc": "4650:29:136",
                  "nodeType": "YulAssignment",
                  "src": "4650:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "4672:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "4672:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "4659:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "4659:12:136"
                    },
                    "nativeSrc": "4659:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4659:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "4650:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "4650:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "4729:16:136",
                    "nodeType": "YulBlock",
                    "src": "4729:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4738:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4738:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4741:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4741:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4731:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4731:6:136"
                          },
                          "nativeSrc": "4731:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4731:12:136"
                        },
                        "nativeSrc": "4731:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4731:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4701:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "4701:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "4712:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "4712:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4719:6:136",
                                "nodeType": "YulLiteral",
                                "src": "4719:6:136",
                                "type": "",
                                "value": "0xffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "4708:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "4708:3:136"
                            },
                            "nativeSrc": "4708:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4708:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "4698:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "4698:2:136"
                        },
                        "nativeSrc": "4698:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4698:29:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "4691:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4691:6:136"
                    },
                    "nativeSrc": "4691:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4691:37:136"
                  },
                  "nativeSrc": "4688:57:136",
                  "nodeType": "YulIf",
                  "src": "4688:57:136"
                }
              ]
            },
            "name": "abi_decode_uint16",
            "nativeSrc": "4592:159:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "4619:6:136",
                "nodeType": "YulTypedName",
                "src": "4619:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "4630:5:136",
                "nodeType": "YulTypedName",
                "src": "4630:5:136",
                "type": ""
              }
            ],
            "src": "4592:159:136"
          },
          {
            "body": {
              "nativeSrc": "4800:85:136",
              "nodeType": "YulBlock",
              "src": "4800:85:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "4863:16:136",
                    "nodeType": "YulBlock",
                    "src": "4863:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "4872:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4872:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "4875:1:136",
                              "nodeType": "YulLiteral",
                              "src": "4875:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "4865:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "4865:6:136"
                          },
                          "nativeSrc": "4865:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "4865:12:136"
                        },
                        "nativeSrc": "4865:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "4865:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "4823:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "4823:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "4834:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "4834:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "4841:18:136",
                                "nodeType": "YulLiteral",
                                "src": "4841:18:136",
                                "type": "",
                                "value": "0xffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "4830:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "4830:3:136"
                            },
                            "nativeSrc": "4830:30:136",
                            "nodeType": "YulFunctionCall",
                            "src": "4830:30:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "4820:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "4820:2:136"
                        },
                        "nativeSrc": "4820:41:136",
                        "nodeType": "YulFunctionCall",
                        "src": "4820:41:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "4813:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "4813:6:136"
                    },
                    "nativeSrc": "4813:49:136",
                    "nodeType": "YulFunctionCall",
                    "src": "4813:49:136"
                  },
                  "nativeSrc": "4810:69:136",
                  "nodeType": "YulIf",
                  "src": "4810:69:136"
                }
              ]
            },
            "name": "validator_revert_uint64",
            "nativeSrc": "4756:129:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "4789:5:136",
                "nodeType": "YulTypedName",
                "src": "4789:5:136",
                "type": ""
              }
            ],
            "src": "4756:129:136"
          },
          {
            "body": {
              "nativeSrc": "5066:953:136",
              "nodeType": "YulBlock",
              "src": "5066:953:136",
              "statements": [
                {
                  "nativeSrc": "5076:33:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5076:33:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "dataEnd",
                        "nativeSrc": "5090:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "5090:7:136"
                      },
                      {
                        "name": "headStart",
                        "nativeSrc": "5099:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5099:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "5086:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5086:3:136"
                    },
                    "nativeSrc": "5086:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5086:23:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "5080:2:136",
                      "nodeType": "YulTypedName",
                      "src": "5080:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5134:16:136",
                    "nodeType": "YulBlock",
                    "src": "5134:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5143:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5143:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5146:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5146:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5136:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5136:6:136"
                          },
                          "nativeSrc": "5136:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5136:12:136"
                        },
                        "nativeSrc": "5136:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "5136:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "5125:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "5125:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5129:3:136",
                        "nodeType": "YulLiteral",
                        "src": "5129:3:136",
                        "type": "",
                        "value": "192"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "5121:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5121:3:136"
                    },
                    "nativeSrc": "5121:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5121:12:136"
                  },
                  "nativeSrc": "5118:32:136",
                  "nodeType": "YulIf",
                  "src": "5118:32:136"
                },
                {
                  "nativeSrc": "5159:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5159:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "5185:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "5185:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5172:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "5172:12:136"
                    },
                    "nativeSrc": "5172:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5172:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "5163:5:136",
                      "nodeType": "YulTypedName",
                      "src": "5163:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "5229:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "5229:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "5204:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "5204:24:136"
                    },
                    "nativeSrc": "5204:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5204:31:136"
                  },
                  "nativeSrc": "5204:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5204:31:136"
                },
                {
                  "nativeSrc": "5244:15:136",
                  "nodeType": "YulAssignment",
                  "src": "5244:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "5254:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "5254:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "5244:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5244:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "5268:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5268:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5300:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5300:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5311:2:136",
                            "nodeType": "YulLiteral",
                            "src": "5311:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5296:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5296:3:136"
                        },
                        "nativeSrc": "5296:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5296:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5283:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "5283:12:136"
                    },
                    "nativeSrc": "5283:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5283:32:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "5272:7:136",
                      "nodeType": "YulTypedName",
                      "src": "5272:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "5348:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "5348:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bytes4",
                      "nativeSrc": "5324:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "5324:23:136"
                    },
                    "nativeSrc": "5324:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5324:32:136"
                  },
                  "nativeSrc": "5324:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5324:32:136"
                },
                {
                  "nativeSrc": "5365:17:136",
                  "nodeType": "YulAssignment",
                  "src": "5365:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "5375:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "5375:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "5365:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5365:6:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5422:16:136",
                    "nodeType": "YulBlock",
                    "src": "5422:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "5431:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5431:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "5434:1:136",
                              "nodeType": "YulLiteral",
                              "src": "5434:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "5424:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5424:6:136"
                          },
                          "nativeSrc": "5424:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5424:12:136"
                        },
                        "nativeSrc": "5424:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "5424:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "5402:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "5402:2:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "5410:2:136",
                                "nodeType": "YulLiteral",
                                "src": "5410:2:136",
                                "type": "",
                                "value": "63"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "5406:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "5406:3:136"
                            },
                            "nativeSrc": "5406:7:136",
                            "nodeType": "YulFunctionCall",
                            "src": "5406:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5398:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5398:3:136"
                        },
                        "nativeSrc": "5398:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5398:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5416:4:136",
                        "nodeType": "YulLiteral",
                        "src": "5416:4:136",
                        "type": "",
                        "value": "0x60"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "5394:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5394:3:136"
                    },
                    "nativeSrc": "5394:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5394:27:136"
                  },
                  "nativeSrc": "5391:47:136",
                  "nodeType": "YulIf",
                  "src": "5391:47:136"
                },
                {
                  "nativeSrc": "5447:15:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5447:15:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "5461:1:136",
                    "nodeType": "YulLiteral",
                    "src": "5461:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "5451:6:136",
                      "nodeType": "YulTypedName",
                      "src": "5451:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "5471:19:136",
                  "nodeType": "YulAssignment",
                  "src": "5471:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5487:2:136",
                        "nodeType": "YulLiteral",
                        "src": "5487:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "5481:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "5481:5:136"
                    },
                    "nativeSrc": "5481:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5481:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "5471:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5471:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "5499:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5499:35:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "5521:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "5521:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "5529:4:136",
                        "nodeType": "YulLiteral",
                        "src": "5529:4:136",
                        "type": "",
                        "value": "0x60"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "5517:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "5517:3:136"
                    },
                    "nativeSrc": "5517:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5517:17:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "5503:10:136",
                      "nodeType": "YulTypedName",
                      "src": "5503:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "5609:22:136",
                    "nodeType": "YulBlock",
                    "src": "5609:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "5611:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "5611:16:136"
                          },
                          "nativeSrc": "5611:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "5611:18:136"
                        },
                        "nativeSrc": "5611:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "5611:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "5552:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "5552:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5564:18:136",
                            "nodeType": "YulLiteral",
                            "src": "5564:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "5549:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "5549:2:136"
                        },
                        "nativeSrc": "5549:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5549:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "5588:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "5588:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "5600:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5600:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "5585:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "5585:2:136"
                        },
                        "nativeSrc": "5585:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5585:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "5546:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "5546:2:136"
                    },
                    "nativeSrc": "5546:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5546:62:136"
                  },
                  "nativeSrc": "5543:88:136",
                  "nodeType": "YulIf",
                  "src": "5543:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "5647:2:136",
                        "nodeType": "YulLiteral",
                        "src": "5647:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "5651:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "5651:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5640:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5640:6:136"
                    },
                    "nativeSrc": "5640:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5640:22:136"
                  },
                  "nativeSrc": "5640:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5640:22:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "5678:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "5678:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "5708:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "5708:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "5719:2:136",
                                "nodeType": "YulLiteral",
                                "src": "5719:2:136",
                                "type": "",
                                "value": "64"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "5704:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "5704:3:136"
                            },
                            "nativeSrc": "5704:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "5704:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint16",
                          "nativeSrc": "5686:17:136",
                          "nodeType": "YulIdentifier",
                          "src": "5686:17:136"
                        },
                        "nativeSrc": "5686:37:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5686:37:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5671:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5671:6:136"
                    },
                    "nativeSrc": "5671:53:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5671:53:136"
                  },
                  "nativeSrc": "5671:53:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5671:53:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "5744:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5744:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5752:2:136",
                            "nodeType": "YulLiteral",
                            "src": "5752:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5740:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5740:3:136"
                        },
                        "nativeSrc": "5740:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5740:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "5779:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "5779:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "5790:4:136",
                                "nodeType": "YulLiteral",
                                "src": "5790:4:136",
                                "type": "",
                                "value": "0x60"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "5775:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "5775:3:136"
                            },
                            "nativeSrc": "5775:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "5775:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint16",
                          "nativeSrc": "5757:17:136",
                          "nodeType": "YulIdentifier",
                          "src": "5757:17:136"
                        },
                        "nativeSrc": "5757:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5757:39:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5733:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5733:6:136"
                    },
                    "nativeSrc": "5733:64:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5733:64:136"
                  },
                  "nativeSrc": "5733:64:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5733:64:136"
                },
                {
                  "nativeSrc": "5806:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "5806:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5838:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5838:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5849:3:136",
                            "nodeType": "YulLiteral",
                            "src": "5849:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5834:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5834:3:136"
                        },
                        "nativeSrc": "5834:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5834:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5821:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "5821:12:136"
                    },
                    "nativeSrc": "5821:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5821:33:136"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "5810:7:136",
                      "nodeType": "YulTypedName",
                      "src": "5810:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_2",
                        "nativeSrc": "5887:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "5887:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "5863:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "5863:23:136"
                    },
                    "nativeSrc": "5863:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5863:32:136"
                  },
                  "nativeSrc": "5863:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5863:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "5915:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "5915:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "5923:2:136",
                            "nodeType": "YulLiteral",
                            "src": "5923:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5911:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5911:3:136"
                        },
                        "nativeSrc": "5911:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5911:15:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "5928:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "5928:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "5904:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5904:6:136"
                    },
                    "nativeSrc": "5904:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5904:32:136"
                  },
                  "nativeSrc": "5904:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "5904:32:136"
                },
                {
                  "nativeSrc": "5945:16:136",
                  "nodeType": "YulAssignment",
                  "src": "5945:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "5955:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "5955:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "5945:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5945:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "5970:43:136",
                  "nodeType": "YulAssignment",
                  "src": "5970:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "5997:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "5997:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6008:3:136",
                            "nodeType": "YulLiteral",
                            "src": "6008:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "5993:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "5993:3:136"
                        },
                        "nativeSrc": "5993:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "5993:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "5980:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "5980:12:136"
                    },
                    "nativeSrc": "5980:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "5980:33:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "5970:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "5970:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_IWitOracleQueriable_$26795t_bytes4t_struct$_QuerySLA_$37373_memory_ptrt_uint256",
            "nativeSrc": "4890:1129:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "5008:9:136",
                "nodeType": "YulTypedName",
                "src": "5008:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "5019:7:136",
                "nodeType": "YulTypedName",
                "src": "5019:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "5031:6:136",
                "nodeType": "YulTypedName",
                "src": "5031:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "5039:6:136",
                "nodeType": "YulTypedName",
                "src": "5039:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "5047:6:136",
                "nodeType": "YulTypedName",
                "src": "5047:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "5055:6:136",
                "nodeType": "YulTypedName",
                "src": "5055:6:136",
                "type": ""
              }
            ],
            "src": "4890:1129:136"
          },
          {
            "body": {
              "nativeSrc": "6161:119:136",
              "nodeType": "YulBlock",
              "src": "6161:119:136",
              "statements": [
                {
                  "nativeSrc": "6171:26:136",
                  "nodeType": "YulAssignment",
                  "src": "6171:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6183:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "6183:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6194:2:136",
                        "nodeType": "YulLiteral",
                        "src": "6194:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "6179:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "6179:3:136"
                    },
                    "nativeSrc": "6179:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6179:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "6171:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "6171:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6213:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "6213:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "6224:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6224:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6206:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6206:6:136"
                    },
                    "nativeSrc": "6206:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6206:25:136"
                  },
                  "nativeSrc": "6206:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6206:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6251:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6251:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6262:2:136",
                            "nodeType": "YulLiteral",
                            "src": "6262:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6247:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6247:3:136"
                        },
                        "nativeSrc": "6247:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6247:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "6267:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6267:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "6240:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6240:6:136"
                    },
                    "nativeSrc": "6240:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6240:34:136"
                  },
                  "nativeSrc": "6240:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "6240:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed",
            "nativeSrc": "6024:256:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6122:9:136",
                "nodeType": "YulTypedName",
                "src": "6122:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "6133:6:136",
                "nodeType": "YulTypedName",
                "src": "6133:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "6141:6:136",
                "nodeType": "YulTypedName",
                "src": "6141:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "6152:4:136",
                "nodeType": "YulTypedName",
                "src": "6152:4:136",
                "type": ""
              }
            ],
            "src": "6024:256:136"
          },
          {
            "body": {
              "nativeSrc": "6392:372:136",
              "nodeType": "YulBlock",
              "src": "6392:372:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "6438:16:136",
                    "nodeType": "YulBlock",
                    "src": "6438:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6447:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6447:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6450:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6450:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6440:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6440:6:136"
                          },
                          "nativeSrc": "6440:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6440:12:136"
                        },
                        "nativeSrc": "6440:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6440:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "6413:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "6413:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "6422:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6422:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "6409:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6409:3:136"
                        },
                        "nativeSrc": "6409:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6409:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6434:2:136",
                        "nodeType": "YulLiteral",
                        "src": "6434:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "6405:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "6405:3:136"
                    },
                    "nativeSrc": "6405:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6405:32:136"
                  },
                  "nativeSrc": "6402:52:136",
                  "nodeType": "YulIf",
                  "src": "6402:52:136"
                },
                {
                  "nativeSrc": "6463:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6463:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6490:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "6490:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6477:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "6477:12:136"
                    },
                    "nativeSrc": "6477:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6477:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "6467:6:136",
                      "nodeType": "YulTypedName",
                      "src": "6467:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "6543:16:136",
                    "nodeType": "YulBlock",
                    "src": "6543:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6552:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6552:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6555:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6555:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6545:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6545:6:136"
                          },
                          "nativeSrc": "6545:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6545:12:136"
                        },
                        "nativeSrc": "6545:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6545:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "6515:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "6515:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6523:18:136",
                        "nodeType": "YulLiteral",
                        "src": "6523:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "6512:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "6512:2:136"
                    },
                    "nativeSrc": "6512:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6512:30:136"
                  },
                  "nativeSrc": "6509:50:136",
                  "nodeType": "YulIf",
                  "src": "6509:50:136"
                },
                {
                  "nativeSrc": "6568:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6568:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6625:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6625:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "6636:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6636:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6621:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6621:3:136"
                        },
                        "nativeSrc": "6621:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6621:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "6645:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "6645:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "6594:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "6594:26:136"
                    },
                    "nativeSrc": "6594:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6594:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "6572:8:136",
                      "nodeType": "YulTypedName",
                      "src": "6572:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "6582:8:136",
                      "nodeType": "YulTypedName",
                      "src": "6582:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "6662:18:136",
                  "nodeType": "YulAssignment",
                  "src": "6662:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "6672:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "6672:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "6662:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6662:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6689:18:136",
                  "nodeType": "YulAssignment",
                  "src": "6689:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "6699:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "6699:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "6689:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6689:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "6716:42:136",
                  "nodeType": "YulAssignment",
                  "src": "6716:42:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "6743:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6743:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "6754:2:136",
                            "nodeType": "YulLiteral",
                            "src": "6754:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "6739:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6739:3:136"
                        },
                        "nativeSrc": "6739:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6739:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6726:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "6726:12:136"
                    },
                    "nativeSrc": "6726:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6726:32:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "6716:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "6716:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptrt_bytes32",
            "nativeSrc": "6285:479:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6342:9:136",
                "nodeType": "YulTypedName",
                "src": "6342:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "6353:7:136",
                "nodeType": "YulTypedName",
                "src": "6353:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "6365:6:136",
                "nodeType": "YulTypedName",
                "src": "6365:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "6373:6:136",
                "nodeType": "YulTypedName",
                "src": "6373:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "6381:6:136",
                "nodeType": "YulTypedName",
                "src": "6381:6:136",
                "type": ""
              }
            ],
            "src": "6285:479:136"
          },
          {
            "body": {
              "nativeSrc": "6884:300:136",
              "nodeType": "YulBlock",
              "src": "6884:300:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "6930:16:136",
                    "nodeType": "YulBlock",
                    "src": "6930:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "6939:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6939:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "6942:1:136",
                              "nodeType": "YulLiteral",
                              "src": "6942:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "6932:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "6932:6:136"
                          },
                          "nativeSrc": "6932:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "6932:12:136"
                        },
                        "nativeSrc": "6932:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "6932:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "6905:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "6905:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "6914:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "6914:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "6901:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "6901:3:136"
                        },
                        "nativeSrc": "6901:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "6901:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "6926:2:136",
                        "nodeType": "YulLiteral",
                        "src": "6926:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "6897:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "6897:3:136"
                    },
                    "nativeSrc": "6897:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6897:32:136"
                  },
                  "nativeSrc": "6894:52:136",
                  "nodeType": "YulIf",
                  "src": "6894:52:136"
                },
                {
                  "nativeSrc": "6955:36:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "6955:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "6981:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "6981:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "6968:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "6968:12:136"
                    },
                    "nativeSrc": "6968:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "6968:23:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "6959:5:136",
                      "nodeType": "YulTypedName",
                      "src": "6959:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "7025:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "7025:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_address",
                      "nativeSrc": "7000:24:136",
                      "nodeType": "YulIdentifier",
                      "src": "7000:24:136"
                    },
                    "nativeSrc": "7000:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7000:31:136"
                  },
                  "nativeSrc": "7000:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7000:31:136"
                },
                {
                  "nativeSrc": "7040:15:136",
                  "nodeType": "YulAssignment",
                  "src": "7040:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "7050:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "7050:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "7040:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7040:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "7064:47:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7064:47:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7096:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "7096:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7107:2:136",
                            "nodeType": "YulLiteral",
                            "src": "7107:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7092:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7092:3:136"
                        },
                        "nativeSrc": "7092:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7092:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "7079:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "7079:12:136"
                    },
                    "nativeSrc": "7079:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7079:32:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "7068:7:136",
                      "nodeType": "YulTypedName",
                      "src": "7068:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "7144:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "7144:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bytes4",
                      "nativeSrc": "7120:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "7120:23:136"
                    },
                    "nativeSrc": "7120:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7120:32:136"
                  },
                  "nativeSrc": "7120:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7120:32:136"
                },
                {
                  "nativeSrc": "7161:17:136",
                  "nodeType": "YulAssignment",
                  "src": "7161:17:136",
                  "value": {
                    "name": "value_1",
                    "nativeSrc": "7171:7:136",
                    "nodeType": "YulIdentifier",
                    "src": "7171:7:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "7161:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7161:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_contract$_IWitOracleQueriable_$26795t_bytes4",
            "nativeSrc": "6769:415:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "6842:9:136",
                "nodeType": "YulTypedName",
                "src": "6842:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "6853:7:136",
                "nodeType": "YulTypedName",
                "src": "6853:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "6865:6:136",
                "nodeType": "YulTypedName",
                "src": "6865:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "6873:6:136",
                "nodeType": "YulTypedName",
                "src": "6873:6:136",
                "type": ""
              }
            ],
            "src": "6769:415:136"
          },
          {
            "body": {
              "nativeSrc": "7221:95:136",
              "nodeType": "YulBlock",
              "src": "7221:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7238:1:136",
                        "nodeType": "YulLiteral",
                        "src": "7238:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "7245:3:136",
                            "nodeType": "YulLiteral",
                            "src": "7245:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7250:10:136",
                            "nodeType": "YulLiteral",
                            "src": "7250:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "7241:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7241:3:136"
                        },
                        "nativeSrc": "7241:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7241:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7231:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7231:6:136"
                    },
                    "nativeSrc": "7231:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7231:31:136"
                  },
                  "nativeSrc": "7231:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7231:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7278:1:136",
                        "nodeType": "YulLiteral",
                        "src": "7278:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7281:4:136",
                        "nodeType": "YulLiteral",
                        "src": "7281:4:136",
                        "type": "",
                        "value": "0x21"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7271:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7271:6:136"
                    },
                    "nativeSrc": "7271:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7271:15:136"
                  },
                  "nativeSrc": "7271:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7271:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "7302:1:136",
                        "nodeType": "YulLiteral",
                        "src": "7302:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7305:4:136",
                        "nodeType": "YulLiteral",
                        "src": "7305:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "7295:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7295:6:136"
                    },
                    "nativeSrc": "7295:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7295:15:136"
                  },
                  "nativeSrc": "7295:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7295:15:136"
                }
              ]
            },
            "name": "panic_error_0x21",
            "nativeSrc": "7189:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "7189:127:136"
          },
          {
            "body": {
              "nativeSrc": "7478:523:136",
              "nodeType": "YulBlock",
              "src": "7478:523:136",
              "statements": [
                {
                  "nativeSrc": "7488:27:136",
                  "nodeType": "YulAssignment",
                  "src": "7488:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7500:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7500:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "7511:3:136",
                        "nodeType": "YulLiteral",
                        "src": "7511:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "7496:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "7496:3:136"
                    },
                    "nativeSrc": "7496:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7496:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "7488:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "7488:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "7531:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "7531:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "7552:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "7552:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "7546:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "7546:5:136"
                            },
                            "nativeSrc": "7546:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "7546:13:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7561:18:136",
                            "nodeType": "YulLiteral",
                            "src": "7561:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "7542:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7542:3:136"
                        },
                        "nativeSrc": "7542:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7542:38:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7524:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7524:6:136"
                    },
                    "nativeSrc": "7524:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7524:57:136"
                  },
                  "nativeSrc": "7524:57:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7524:57:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7601:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "7601:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7612:4:136",
                            "nodeType": "YulLiteral",
                            "src": "7612:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7597:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7597:3:136"
                        },
                        "nativeSrc": "7597:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7597:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value0",
                                    "nativeSrc": "7633:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "7633:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "7641:4:136",
                                    "nodeType": "YulLiteral",
                                    "src": "7641:4:136",
                                    "type": "",
                                    "value": "0x20"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "7629:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "7629:3:136"
                                },
                                "nativeSrc": "7629:17:136",
                                "nodeType": "YulFunctionCall",
                                "src": "7629:17:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "7623:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "7623:5:136"
                            },
                            "nativeSrc": "7623:24:136",
                            "nodeType": "YulFunctionCall",
                            "src": "7623:24:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7649:18:136",
                            "nodeType": "YulLiteral",
                            "src": "7649:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "7619:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7619:3:136"
                        },
                        "nativeSrc": "7619:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7619:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7590:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7590:6:136"
                    },
                    "nativeSrc": "7590:79:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7590:79:136"
                  },
                  "nativeSrc": "7590:79:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7590:79:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7689:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "7689:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7700:4:136",
                            "nodeType": "YulLiteral",
                            "src": "7700:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7685:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7685:3:136"
                        },
                        "nativeSrc": "7685:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7685:20:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value0",
                                "nativeSrc": "7717:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "7717:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "7725:4:136",
                                "nodeType": "YulLiteral",
                                "src": "7725:4:136",
                                "type": "",
                                "value": "0x40"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "7713:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "7713:3:136"
                            },
                            "nativeSrc": "7713:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "7713:17:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "7707:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "7707:5:136"
                        },
                        "nativeSrc": "7707:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7707:24:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7678:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7678:6:136"
                    },
                    "nativeSrc": "7678:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7678:54:136"
                  },
                  "nativeSrc": "7678:54:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7678:54:136"
                },
                {
                  "nativeSrc": "7741:44:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "7741:44:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "7771:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7771:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7779:4:136",
                            "nodeType": "YulLiteral",
                            "src": "7779:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7767:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7767:3:136"
                        },
                        "nativeSrc": "7767:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7767:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "7761:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "7761:5:136"
                    },
                    "nativeSrc": "7761:24:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7761:24:136"
                  },
                  "variables": [
                    {
                      "name": "memberValue0",
                      "nativeSrc": "7745:12:136",
                      "nodeType": "YulTypedName",
                      "src": "7745:12:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "7833:111:136",
                    "nodeType": "YulBlock",
                    "src": "7833:111:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7854:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7854:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "7861:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "7861:3:136",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "7866:10:136",
                                  "nodeType": "YulLiteral",
                                  "src": "7866:10:136",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "7857:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "7857:3:136"
                              },
                              "nativeSrc": "7857:20:136",
                              "nodeType": "YulFunctionCall",
                              "src": "7857:20:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "7847:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7847:6:136"
                          },
                          "nativeSrc": "7847:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7847:31:136"
                        },
                        "nativeSrc": "7847:31:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7847:31:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7898:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7898:1:136",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7901:4:136",
                              "nodeType": "YulLiteral",
                              "src": "7901:4:136",
                              "type": "",
                              "value": "0x21"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "7891:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7891:6:136"
                          },
                          "nativeSrc": "7891:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7891:15:136"
                        },
                        "nativeSrc": "7891:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7891:15:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "7926:1:136",
                              "nodeType": "YulLiteral",
                              "src": "7926:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "7929:4:136",
                              "nodeType": "YulLiteral",
                              "src": "7929:4:136",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "7919:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "7919:6:136"
                          },
                          "nativeSrc": "7919:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "7919:15:136"
                        },
                        "nativeSrc": "7919:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "7919:15:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memberValue0",
                            "nativeSrc": "7807:12:136",
                            "nodeType": "YulIdentifier",
                            "src": "7807:12:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7821:1:136",
                            "nodeType": "YulLiteral",
                            "src": "7821:1:136",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "7804:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "7804:2:136"
                        },
                        "nativeSrc": "7804:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7804:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "7797:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7797:6:136"
                    },
                    "nativeSrc": "7797:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7797:27:136"
                  },
                  "nativeSrc": "7794:150:136",
                  "nodeType": "YulIf",
                  "src": "7794:150:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "7964:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "7964:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "7975:4:136",
                            "nodeType": "YulLiteral",
                            "src": "7975:4:136",
                            "type": "",
                            "value": "0x60"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "7960:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "7960:3:136"
                        },
                        "nativeSrc": "7960:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "7960:20:136"
                      },
                      {
                        "name": "memberValue0",
                        "nativeSrc": "7982:12:136",
                        "nodeType": "YulIdentifier",
                        "src": "7982:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "7953:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "7953:6:136"
                    },
                    "nativeSrc": "7953:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "7953:42:136"
                  },
                  "nativeSrc": "7953:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "7953:42:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_struct$_Price_$29489_memory_ptr__to_t_struct$_Price_$29489_memory_ptr__fromStack_library_reversed",
            "nativeSrc": "7321:680:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "7447:9:136",
                "nodeType": "YulTypedName",
                "src": "7447:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "7458:6:136",
                "nodeType": "YulTypedName",
                "src": "7458:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "7469:4:136",
                "nodeType": "YulTypedName",
                "src": "7469:4:136",
                "type": ""
              }
            ],
            "src": "7321:680:136"
          },
          {
            "body": {
              "nativeSrc": "8096:321:136",
              "nodeType": "YulBlock",
              "src": "8096:321:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8142:16:136",
                    "nodeType": "YulBlock",
                    "src": "8142:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8151:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8151:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8154:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8154:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8144:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8144:6:136"
                          },
                          "nativeSrc": "8144:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "8144:12:136"
                        },
                        "nativeSrc": "8144:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "8144:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8117:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "8117:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8126:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8126:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8113:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8113:3:136"
                        },
                        "nativeSrc": "8113:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8113:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8138:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8138:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8109:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "8109:3:136"
                    },
                    "nativeSrc": "8109:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8109:32:136"
                  },
                  "nativeSrc": "8106:52:136",
                  "nodeType": "YulIf",
                  "src": "8106:52:136"
                },
                {
                  "nativeSrc": "8167:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8167:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8194:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8194:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8181:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "8181:12:136"
                    },
                    "nativeSrc": "8181:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8181:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "8171:6:136",
                      "nodeType": "YulTypedName",
                      "src": "8171:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8247:16:136",
                    "nodeType": "YulBlock",
                    "src": "8247:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8256:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8256:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8259:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8259:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8249:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8249:6:136"
                          },
                          "nativeSrc": "8249:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "8249:12:136"
                        },
                        "nativeSrc": "8249:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "8249:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "8219:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "8219:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8227:18:136",
                        "nodeType": "YulLiteral",
                        "src": "8227:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8216:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "8216:2:136"
                    },
                    "nativeSrc": "8216:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8216:30:136"
                  },
                  "nativeSrc": "8213:50:136",
                  "nodeType": "YulIf",
                  "src": "8213:50:136"
                },
                {
                  "nativeSrc": "8272:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8272:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8329:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8329:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "8340:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8340:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8325:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8325:3:136"
                        },
                        "nativeSrc": "8325:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8325:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8349:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "8349:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "8298:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "8298:26:136"
                    },
                    "nativeSrc": "8298:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8298:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "8276:8:136",
                      "nodeType": "YulTypedName",
                      "src": "8276:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "8286:8:136",
                      "nodeType": "YulTypedName",
                      "src": "8286:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8366:18:136",
                  "nodeType": "YulAssignment",
                  "src": "8366:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "8376:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "8376:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "8366:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8366:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "8393:18:136",
                  "nodeType": "YulAssignment",
                  "src": "8393:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "8403:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "8403:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "8393:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8393:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_calldata_ptr",
            "nativeSrc": "8006:411:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8054:9:136",
                "nodeType": "YulTypedName",
                "src": "8054:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "8065:7:136",
                "nodeType": "YulTypedName",
                "src": "8065:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "8077:6:136",
                "nodeType": "YulTypedName",
                "src": "8077:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "8085:6:136",
                "nodeType": "YulTypedName",
                "src": "8085:6:136",
                "type": ""
              }
            ],
            "src": "8006:411:136"
          },
          {
            "body": {
              "nativeSrc": "8547:589:136",
              "nodeType": "YulBlock",
              "src": "8547:589:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "8593:16:136",
                    "nodeType": "YulBlock",
                    "src": "8593:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8602:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8602:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8605:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8605:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8595:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8595:6:136"
                          },
                          "nativeSrc": "8595:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "8595:12:136"
                        },
                        "nativeSrc": "8595:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "8595:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "8568:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "8568:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "8577:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8577:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "8564:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8564:3:136"
                        },
                        "nativeSrc": "8564:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8564:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8589:2:136",
                        "nodeType": "YulLiteral",
                        "src": "8589:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "8560:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "8560:3:136"
                    },
                    "nativeSrc": "8560:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8560:32:136"
                  },
                  "nativeSrc": "8557:52:136",
                  "nodeType": "YulIf",
                  "src": "8557:52:136"
                },
                {
                  "nativeSrc": "8618:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8618:37:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "8645:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "8645:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8632:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "8632:12:136"
                    },
                    "nativeSrc": "8632:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8632:23:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "8622:6:136",
                      "nodeType": "YulTypedName",
                      "src": "8622:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8698:16:136",
                    "nodeType": "YulBlock",
                    "src": "8698:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8707:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8707:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8710:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8710:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8700:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8700:6:136"
                          },
                          "nativeSrc": "8700:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "8700:12:136"
                        },
                        "nativeSrc": "8700:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "8700:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "8670:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "8670:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8678:18:136",
                        "nodeType": "YulLiteral",
                        "src": "8678:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8667:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "8667:2:136"
                    },
                    "nativeSrc": "8667:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8667:30:136"
                  },
                  "nativeSrc": "8664:50:136",
                  "nodeType": "YulIf",
                  "src": "8664:50:136"
                },
                {
                  "nativeSrc": "8723:85:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8723:85:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8780:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8780:9:136"
                          },
                          {
                            "name": "offset",
                            "nativeSrc": "8791:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8791:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8776:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8776:3:136"
                        },
                        "nativeSrc": "8776:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8776:22:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "8800:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "8800:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "8749:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "8749:26:136"
                    },
                    "nativeSrc": "8749:59:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8749:59:136"
                  },
                  "variables": [
                    {
                      "name": "value0_1",
                      "nativeSrc": "8727:8:136",
                      "nodeType": "YulTypedName",
                      "src": "8727:8:136",
                      "type": ""
                    },
                    {
                      "name": "value1_1",
                      "nativeSrc": "8737:8:136",
                      "nodeType": "YulTypedName",
                      "src": "8737:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "8817:18:136",
                  "nodeType": "YulAssignment",
                  "src": "8817:18:136",
                  "value": {
                    "name": "value0_1",
                    "nativeSrc": "8827:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "8827:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "8817:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8817:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "8844:18:136",
                  "nodeType": "YulAssignment",
                  "src": "8844:18:136",
                  "value": {
                    "name": "value1_1",
                    "nativeSrc": "8854:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "8854:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value1",
                      "nativeSrc": "8844:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "8844:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "8871:48:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8871:48:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "8904:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "8904:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "8915:2:136",
                            "nodeType": "YulLiteral",
                            "src": "8915:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "8900:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "8900:3:136"
                        },
                        "nativeSrc": "8900:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "8900:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldataload",
                      "nativeSrc": "8887:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "8887:12:136"
                    },
                    "nativeSrc": "8887:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8887:32:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "8875:8:136",
                      "nodeType": "YulTypedName",
                      "src": "8875:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "8964:16:136",
                    "nodeType": "YulBlock",
                    "src": "8964:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "8973:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8973:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "8976:1:136",
                              "nodeType": "YulLiteral",
                              "src": "8976:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "8966:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "8966:6:136"
                          },
                          "nativeSrc": "8966:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "8966:12:136"
                        },
                        "nativeSrc": "8966:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "8966:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "8934:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "8934:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "8944:18:136",
                        "nodeType": "YulLiteral",
                        "src": "8944:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "8931:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "8931:2:136"
                    },
                    "nativeSrc": "8931:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "8931:32:136"
                  },
                  "nativeSrc": "8928:52:136",
                  "nodeType": "YulIf",
                  "src": "8928:52:136"
                },
                {
                  "nativeSrc": "8989:87:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "8989:87:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "9046:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "9046:9:136"
                          },
                          {
                            "name": "offset_1",
                            "nativeSrc": "9057:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "9057:8:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "9042:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9042:3:136"
                        },
                        "nativeSrc": "9042:24:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9042:24:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "9068:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "9068:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_string_calldata",
                      "nativeSrc": "9015:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "9015:26:136"
                    },
                    "nativeSrc": "9015:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9015:61:136"
                  },
                  "variables": [
                    {
                      "name": "value2_1",
                      "nativeSrc": "8993:8:136",
                      "nodeType": "YulTypedName",
                      "src": "8993:8:136",
                      "type": ""
                    },
                    {
                      "name": "value3_1",
                      "nativeSrc": "9003:8:136",
                      "nodeType": "YulTypedName",
                      "src": "9003:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "9085:18:136",
                  "nodeType": "YulAssignment",
                  "src": "9085:18:136",
                  "value": {
                    "name": "value2_1",
                    "nativeSrc": "9095:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "9095:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value2",
                      "nativeSrc": "9085:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9085:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "9112:18:136",
                  "nodeType": "YulAssignment",
                  "src": "9112:18:136",
                  "value": {
                    "name": "value3_1",
                    "nativeSrc": "9122:8:136",
                    "nodeType": "YulIdentifier",
                    "src": "9122:8:136"
                  },
                  "variableNames": [
                    {
                      "name": "value3",
                      "nativeSrc": "9112:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9112:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptr",
            "nativeSrc": "8422:714:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "8489:9:136",
                "nodeType": "YulTypedName",
                "src": "8489:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "8500:7:136",
                "nodeType": "YulTypedName",
                "src": "8500:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "8512:6:136",
                "nodeType": "YulTypedName",
                "src": "8512:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "8520:6:136",
                "nodeType": "YulTypedName",
                "src": "8520:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "8528:6:136",
                "nodeType": "YulTypedName",
                "src": "8528:6:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "8536:6:136",
                "nodeType": "YulTypedName",
                "src": "8536:6:136",
                "type": ""
              }
            ],
            "src": "8422:714:136"
          },
          {
            "body": {
              "nativeSrc": "9250:102:136",
              "nodeType": "YulBlock",
              "src": "9250:102:136",
              "statements": [
                {
                  "nativeSrc": "9260:26:136",
                  "nodeType": "YulAssignment",
                  "src": "9260:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9272:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9272:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9283:2:136",
                        "nodeType": "YulLiteral",
                        "src": "9283:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9268:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "9268:3:136"
                    },
                    "nativeSrc": "9268:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9268:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "9260:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "9260:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9302:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9302:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "9317:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9317:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "9333:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "9333:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "9338:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "9338:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "9329:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "9329:3:136"
                                },
                                "nativeSrc": "9329:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "9329:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "9342:1:136",
                                "nodeType": "YulLiteral",
                                "src": "9342:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "9325:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "9325:3:136"
                            },
                            "nativeSrc": "9325:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "9325:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9313:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9313:3:136"
                        },
                        "nativeSrc": "9313:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9313:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9295:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9295:6:136"
                    },
                    "nativeSrc": "9295:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9295:51:136"
                  },
                  "nativeSrc": "9295:51:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9295:51:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed",
            "nativeSrc": "9141:211:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9219:9:136",
                "nodeType": "YulTypedName",
                "src": "9219:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9230:6:136",
                "nodeType": "YulTypedName",
                "src": "9230:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9241:4:136",
                "nodeType": "YulTypedName",
                "src": "9241:4:136",
                "type": ""
              }
            ],
            "src": "9141:211:136"
          },
          {
            "body": {
              "nativeSrc": "9462:87:136",
              "nodeType": "YulBlock",
              "src": "9462:87:136",
              "statements": [
                {
                  "nativeSrc": "9472:26:136",
                  "nodeType": "YulAssignment",
                  "src": "9472:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9484:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9484:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9495:2:136",
                        "nodeType": "YulLiteral",
                        "src": "9495:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "9480:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "9480:3:136"
                    },
                    "nativeSrc": "9480:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9480:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "9472:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "9472:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "9514:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "9514:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "9529:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9529:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9537:4:136",
                            "nodeType": "YulLiteral",
                            "src": "9537:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "9525:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9525:3:136"
                        },
                        "nativeSrc": "9525:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9525:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9507:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9507:6:136"
                    },
                    "nativeSrc": "9507:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9507:36:136"
                  },
                  "nativeSrc": "9507:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9507:36:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed",
            "nativeSrc": "9357:192:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "9431:9:136",
                "nodeType": "YulTypedName",
                "src": "9431:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "9442:6:136",
                "nodeType": "YulTypedName",
                "src": "9442:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "9453:4:136",
                "nodeType": "YulTypedName",
                "src": "9453:4:136",
                "type": ""
              }
            ],
            "src": "9357:192:136"
          },
          {
            "body": {
              "nativeSrc": "9586:95:136",
              "nodeType": "YulBlock",
              "src": "9586:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9603:1:136",
                        "nodeType": "YulLiteral",
                        "src": "9603:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "9610:3:136",
                            "nodeType": "YulLiteral",
                            "src": "9610:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9615:10:136",
                            "nodeType": "YulLiteral",
                            "src": "9615:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "9606:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "9606:3:136"
                        },
                        "nativeSrc": "9606:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9606:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9596:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9596:6:136"
                    },
                    "nativeSrc": "9596:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9596:31:136"
                  },
                  "nativeSrc": "9596:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9596:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9643:1:136",
                        "nodeType": "YulLiteral",
                        "src": "9643:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9646:4:136",
                        "nodeType": "YulLiteral",
                        "src": "9646:4:136",
                        "type": "",
                        "value": "0x32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "9636:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9636:6:136"
                    },
                    "nativeSrc": "9636:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9636:15:136"
                  },
                  "nativeSrc": "9636:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9636:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9667:1:136",
                        "nodeType": "YulLiteral",
                        "src": "9667:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9670:4:136",
                        "nodeType": "YulLiteral",
                        "src": "9670:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "9660:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9660:6:136"
                    },
                    "nativeSrc": "9660:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9660:15:136"
                  },
                  "nativeSrc": "9660:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "9660:15:136"
                }
              ]
            },
            "name": "panic_error_0x32",
            "nativeSrc": "9554:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "9554:127:136"
          },
          {
            "body": {
              "nativeSrc": "9741:325:136",
              "nodeType": "YulBlock",
              "src": "9741:325:136",
              "statements": [
                {
                  "nativeSrc": "9751:22:136",
                  "nodeType": "YulAssignment",
                  "src": "9751:22:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "9765:1:136",
                        "nodeType": "YulLiteral",
                        "src": "9765:1:136",
                        "type": "",
                        "value": "1"
                      },
                      {
                        "name": "data",
                        "nativeSrc": "9768:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "9768:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "shr",
                      "nativeSrc": "9761:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "9761:3:136"
                    },
                    "nativeSrc": "9761:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9761:12:136"
                  },
                  "variableNames": [
                    {
                      "name": "length",
                      "nativeSrc": "9751:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9751:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "9782:38:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "9782:38:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "data",
                        "nativeSrc": "9812:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "9812:4:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "9818:1:136",
                        "nodeType": "YulLiteral",
                        "src": "9818:1:136",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "9808:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "9808:3:136"
                    },
                    "nativeSrc": "9808:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9808:12:136"
                  },
                  "variables": [
                    {
                      "name": "outOfPlaceEncoding",
                      "nativeSrc": "9786:18:136",
                      "nodeType": "YulTypedName",
                      "src": "9786:18:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "9859:31:136",
                    "nodeType": "YulBlock",
                    "src": "9859:31:136",
                    "statements": [
                      {
                        "nativeSrc": "9861:27:136",
                        "nodeType": "YulAssignment",
                        "src": "9861:27:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "9875:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "9875:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "9883:4:136",
                              "nodeType": "YulLiteral",
                              "src": "9883:4:136",
                              "type": "",
                              "value": "0x7f"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "9871:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "9871:3:136"
                          },
                          "nativeSrc": "9871:17:136",
                          "nodeType": "YulFunctionCall",
                          "src": "9871:17:136"
                        },
                        "variableNames": [
                          {
                            "name": "length",
                            "nativeSrc": "9861:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9861:6:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "9839:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "9839:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "9832:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "9832:6:136"
                    },
                    "nativeSrc": "9832:26:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9832:26:136"
                  },
                  "nativeSrc": "9829:61:136",
                  "nodeType": "YulIf",
                  "src": "9829:61:136"
                },
                {
                  "body": {
                    "nativeSrc": "9949:111:136",
                    "nodeType": "YulBlock",
                    "src": "9949:111:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "9970:1:136",
                              "nodeType": "YulLiteral",
                              "src": "9970:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "9977:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "9977:3:136",
                                  "type": "",
                                  "value": "224"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "9982:10:136",
                                  "nodeType": "YulLiteral",
                                  "src": "9982:10:136",
                                  "type": "",
                                  "value": "0x4e487b71"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "9973:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "9973:3:136"
                              },
                              "nativeSrc": "9973:20:136",
                              "nodeType": "YulFunctionCall",
                              "src": "9973:20:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "9963:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9963:6:136"
                          },
                          "nativeSrc": "9963:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "9963:31:136"
                        },
                        "nativeSrc": "9963:31:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "9963:31:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10014:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10014:1:136",
                              "type": "",
                              "value": "4"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10017:4:136",
                              "nodeType": "YulLiteral",
                              "src": "10017:4:136",
                              "type": "",
                              "value": "0x22"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "10007:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10007:6:136"
                          },
                          "nativeSrc": "10007:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10007:15:136"
                        },
                        "nativeSrc": "10007:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "10007:15:136"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10042:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10042:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10045:4:136",
                              "nodeType": "YulLiteral",
                              "src": "10045:4:136",
                              "type": "",
                              "value": "0x24"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "10035:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10035:6:136"
                          },
                          "nativeSrc": "10035:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10035:15:136"
                        },
                        "nativeSrc": "10035:15:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "10035:15:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "outOfPlaceEncoding",
                        "nativeSrc": "9905:18:136",
                        "nodeType": "YulIdentifier",
                        "src": "9905:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "9928:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "9928:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "9936:2:136",
                            "nodeType": "YulLiteral",
                            "src": "9936:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "9925:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "9925:2:136"
                        },
                        "nativeSrc": "9925:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "9925:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "9902:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "9902:2:136"
                    },
                    "nativeSrc": "9902:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "9902:38:136"
                  },
                  "nativeSrc": "9899:161:136",
                  "nodeType": "YulIf",
                  "src": "9899:161:136"
                }
              ]
            },
            "name": "extract_byte_array_length",
            "nativeSrc": "9686:380:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "9721:4:136",
                "nodeType": "YulTypedName",
                "src": "9721:4:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "length",
                "nativeSrc": "9730:6:136",
                "nodeType": "YulTypedName",
                "src": "9730:6:136",
                "type": ""
              }
            ],
            "src": "9686:380:136"
          },
          {
            "body": {
              "nativeSrc": "10127:65:136",
              "nodeType": "YulBlock",
              "src": "10127:65:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "10144:1:136",
                        "nodeType": "YulLiteral",
                        "src": "10144:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "name": "ptr",
                        "nativeSrc": "10147:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "10147:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "10137:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "10137:6:136"
                    },
                    "nativeSrc": "10137:14:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10137:14:136"
                  },
                  "nativeSrc": "10137:14:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "10137:14:136"
                },
                {
                  "nativeSrc": "10160:26:136",
                  "nodeType": "YulAssignment",
                  "src": "10160:26:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "10178:1:136",
                        "nodeType": "YulLiteral",
                        "src": "10178:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10181:4:136",
                        "nodeType": "YulLiteral",
                        "src": "10181:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "keccak256",
                      "nativeSrc": "10168:9:136",
                      "nodeType": "YulIdentifier",
                      "src": "10168:9:136"
                    },
                    "nativeSrc": "10168:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10168:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "data",
                      "nativeSrc": "10160:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "10160:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "array_dataslot_string_storage",
            "nativeSrc": "10071:121:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "ptr",
                "nativeSrc": "10110:3:136",
                "nodeType": "YulTypedName",
                "src": "10110:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "data",
                "nativeSrc": "10118:4:136",
                "nodeType": "YulTypedName",
                "src": "10118:4:136",
                "type": ""
              }
            ],
            "src": "10071:121:136"
          },
          {
            "body": {
              "nativeSrc": "10278:437:136",
              "nodeType": "YulBlock",
              "src": "10278:437:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "10311:398:136",
                    "nodeType": "YulBlock",
                    "src": "10311:398:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10332:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10332:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "name": "array",
                              "nativeSrc": "10335:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "10335:5:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "10325:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "10325:6:136"
                          },
                          "nativeSrc": "10325:16:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10325:16:136"
                        },
                        "nativeSrc": "10325:16:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "10325:16:136"
                      },
                      {
                        "nativeSrc": "10354:30:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "10354:30:136",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "10376:1:136",
                              "nodeType": "YulLiteral",
                              "src": "10376:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10379:4:136",
                              "nodeType": "YulLiteral",
                              "src": "10379:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "keccak256",
                            "nativeSrc": "10366:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "10366:9:136"
                          },
                          "nativeSrc": "10366:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10366:18:136"
                        },
                        "variables": [
                          {
                            "name": "data",
                            "nativeSrc": "10358:4:136",
                            "nodeType": "YulTypedName",
                            "src": "10358:4:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "10397:57:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "10397:57:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "10420:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "10420:4:136"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "10430:1:136",
                                  "nodeType": "YulLiteral",
                                  "src": "10430:1:136",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "startIndex",
                                      "nativeSrc": "10437:10:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "10437:10:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "10449:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "10449:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "10433:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "10433:3:136"
                                  },
                                  "nativeSrc": "10433:19:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "10433:19:136"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "10426:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "10426:3:136"
                              },
                              "nativeSrc": "10426:27:136",
                              "nodeType": "YulFunctionCall",
                              "src": "10426:27:136"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10416:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "10416:3:136"
                          },
                          "nativeSrc": "10416:38:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10416:38:136"
                        },
                        "variables": [
                          {
                            "name": "deleteStart",
                            "nativeSrc": "10401:11:136",
                            "nodeType": "YulTypedName",
                            "src": "10401:11:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "10491:23:136",
                          "nodeType": "YulBlock",
                          "src": "10491:23:136",
                          "statements": [
                            {
                              "nativeSrc": "10493:19:136",
                              "nodeType": "YulAssignment",
                              "src": "10493:19:136",
                              "value": {
                                "name": "data",
                                "nativeSrc": "10508:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "10508:4:136"
                              },
                              "variableNames": [
                                {
                                  "name": "deleteStart",
                                  "nativeSrc": "10493:11:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "10493:11:136"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "startIndex",
                              "nativeSrc": "10473:10:136",
                              "nodeType": "YulIdentifier",
                              "src": "10473:10:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "10485:4:136",
                              "nodeType": "YulLiteral",
                              "src": "10485:4:136",
                              "type": "",
                              "value": "0x20"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "10470:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "10470:2:136"
                          },
                          "nativeSrc": "10470:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10470:20:136"
                        },
                        "nativeSrc": "10467:47:136",
                        "nodeType": "YulIf",
                        "src": "10467:47:136"
                      },
                      {
                        "nativeSrc": "10527:41:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "10527:41:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "data",
                              "nativeSrc": "10541:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "10541:4:136"
                            },
                            {
                              "arguments": [
                                {
                                  "kind": "number",
                                  "nativeSrc": "10551:1:136",
                                  "nodeType": "YulLiteral",
                                  "src": "10551:1:136",
                                  "type": "",
                                  "value": "5"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "len",
                                      "nativeSrc": "10558:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "10558:3:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "10563:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "10563:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "10554:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "10554:3:136"
                                  },
                                  "nativeSrc": "10554:12:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "10554:12:136"
                                }
                              ],
                              "functionName": {
                                "name": "shr",
                                "nativeSrc": "10547:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "10547:3:136"
                              },
                              "nativeSrc": "10547:20:136",
                              "nodeType": "YulFunctionCall",
                              "src": "10547:20:136"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "10537:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "10537:3:136"
                          },
                          "nativeSrc": "10537:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10537:31:136"
                        },
                        "variables": [
                          {
                            "name": "_1",
                            "nativeSrc": "10531:2:136",
                            "nodeType": "YulTypedName",
                            "src": "10531:2:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "10581:24:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "10581:24:136",
                        "value": {
                          "name": "deleteStart",
                          "nativeSrc": "10594:11:136",
                          "nodeType": "YulIdentifier",
                          "src": "10594:11:136"
                        },
                        "variables": [
                          {
                            "name": "start",
                            "nativeSrc": "10585:5:136",
                            "nodeType": "YulTypedName",
                            "src": "10585:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "10679:20:136",
                          "nodeType": "YulBlock",
                          "src": "10679:20:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "10688:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "10688:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10695:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "10695:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "sstore",
                                  "nativeSrc": "10681:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "10681:6:136"
                                },
                                "nativeSrc": "10681:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "10681:16:136"
                              },
                              "nativeSrc": "10681:16:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "10681:16:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "start",
                              "nativeSrc": "10629:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "10629:5:136"
                            },
                            {
                              "name": "_1",
                              "nativeSrc": "10636:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "10636:2:136"
                            }
                          ],
                          "functionName": {
                            "name": "lt",
                            "nativeSrc": "10626:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "10626:2:136"
                          },
                          "nativeSrc": "10626:13:136",
                          "nodeType": "YulFunctionCall",
                          "src": "10626:13:136"
                        },
                        "nativeSrc": "10618:81:136",
                        "nodeType": "YulForLoop",
                        "post": {
                          "nativeSrc": "10640:26:136",
                          "nodeType": "YulBlock",
                          "src": "10640:26:136",
                          "statements": [
                            {
                              "nativeSrc": "10642:22:136",
                              "nodeType": "YulAssignment",
                              "src": "10642:22:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "start",
                                    "nativeSrc": "10655:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "10655:5:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "10662:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "10662:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "10651:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "10651:3:136"
                                },
                                "nativeSrc": "10651:13:136",
                                "nodeType": "YulFunctionCall",
                                "src": "10651:13:136"
                              },
                              "variableNames": [
                                {
                                  "name": "start",
                                  "nativeSrc": "10642:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "10642:5:136"
                                }
                              ]
                            }
                          ]
                        },
                        "pre": {
                          "nativeSrc": "10622:3:136",
                          "nodeType": "YulBlock",
                          "src": "10622:3:136",
                          "statements": []
                        },
                        "src": "10618:81:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "10294:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "10294:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "10299:2:136",
                        "nodeType": "YulLiteral",
                        "src": "10299:2:136",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "10291:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "10291:2:136"
                    },
                    "nativeSrc": "10291:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10291:11:136"
                  },
                  "nativeSrc": "10288:421:136",
                  "nodeType": "YulIf",
                  "src": "10288:421:136"
                }
              ]
            },
            "name": "clean_up_bytearray_end_slots_string_storage",
            "nativeSrc": "10197:518:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "array",
                "nativeSrc": "10250:5:136",
                "nodeType": "YulTypedName",
                "src": "10250:5:136",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "10257:3:136",
                "nodeType": "YulTypedName",
                "src": "10257:3:136",
                "type": ""
              },
              {
                "name": "startIndex",
                "nativeSrc": "10262:10:136",
                "nodeType": "YulTypedName",
                "src": "10262:10:136",
                "type": ""
              }
            ],
            "src": "10197:518:136"
          },
          {
            "body": {
              "nativeSrc": "10805:81:136",
              "nodeType": "YulBlock",
              "src": "10805:81:136",
              "statements": [
                {
                  "nativeSrc": "10815:65:136",
                  "nodeType": "YulAssignment",
                  "src": "10815:65:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "data",
                            "nativeSrc": "10830:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "10830:4:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "10848:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "10848:1:136",
                                        "type": "",
                                        "value": "3"
                                      },
                                      {
                                        "name": "len",
                                        "nativeSrc": "10851:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "10851:3:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "shl",
                                      "nativeSrc": "10844:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "10844:3:136"
                                    },
                                    "nativeSrc": "10844:11:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "10844:11:136"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "kind": "number",
                                        "nativeSrc": "10861:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "10861:1:136",
                                        "type": "",
                                        "value": "0"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "not",
                                      "nativeSrc": "10857:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "10857:3:136"
                                    },
                                    "nativeSrc": "10857:6:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "10857:6:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "shr",
                                  "nativeSrc": "10840:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "10840:3:136"
                                },
                                "nativeSrc": "10840:24:136",
                                "nodeType": "YulFunctionCall",
                                "src": "10840:24:136"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "10836:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "10836:3:136"
                            },
                            "nativeSrc": "10836:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "10836:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "10826:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10826:3:136"
                        },
                        "nativeSrc": "10826:40:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10826:40:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "10872:1:136",
                            "nodeType": "YulLiteral",
                            "src": "10872:1:136",
                            "type": "",
                            "value": "1"
                          },
                          {
                            "name": "len",
                            "nativeSrc": "10875:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "10875:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "10868:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "10868:3:136"
                        },
                        "nativeSrc": "10868:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "10868:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "10823:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "10823:2:136"
                    },
                    "nativeSrc": "10823:57:136",
                    "nodeType": "YulFunctionCall",
                    "src": "10823:57:136"
                  },
                  "variableNames": [
                    {
                      "name": "used",
                      "nativeSrc": "10815:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "10815:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "extract_used_part_and_set_length_of_short_byte_array",
            "nativeSrc": "10720:166:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "data",
                "nativeSrc": "10782:4:136",
                "nodeType": "YulTypedName",
                "src": "10782:4:136",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "10788:3:136",
                "nodeType": "YulTypedName",
                "src": "10788:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "used",
                "nativeSrc": "10796:4:136",
                "nodeType": "YulTypedName",
                "src": "10796:4:136",
                "type": ""
              }
            ],
            "src": "10720:166:136"
          },
          {
            "body": {
              "nativeSrc": "10994:1095:136",
              "nodeType": "YulBlock",
              "src": "10994:1095:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "11035:22:136",
                    "nodeType": "YulBlock",
                    "src": "11035:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "11037:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "11037:16:136"
                          },
                          "nativeSrc": "11037:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "11037:18:136"
                        },
                        "nativeSrc": "11037:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "11037:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "11010:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "11010:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11015:18:136",
                        "nodeType": "YulLiteral",
                        "src": "11015:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "11007:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "11007:2:136"
                    },
                    "nativeSrc": "11007:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11007:27:136"
                  },
                  "nativeSrc": "11004:53:136",
                  "nodeType": "YulIf",
                  "src": "11004:53:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "slot",
                        "nativeSrc": "11110:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "11110:4:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "slot",
                                "nativeSrc": "11148:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "11148:4:136"
                              }
                            ],
                            "functionName": {
                              "name": "sload",
                              "nativeSrc": "11142:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "11142:5:136"
                            },
                            "nativeSrc": "11142:11:136",
                            "nodeType": "YulFunctionCall",
                            "src": "11142:11:136"
                          }
                        ],
                        "functionName": {
                          "name": "extract_byte_array_length",
                          "nativeSrc": "11116:25:136",
                          "nodeType": "YulIdentifier",
                          "src": "11116:25:136"
                        },
                        "nativeSrc": "11116:38:136",
                        "nodeType": "YulFunctionCall",
                        "src": "11116:38:136"
                      },
                      {
                        "name": "len",
                        "nativeSrc": "11156:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "11156:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "clean_up_bytearray_end_slots_string_storage",
                      "nativeSrc": "11066:43:136",
                      "nodeType": "YulIdentifier",
                      "src": "11066:43:136"
                    },
                    "nativeSrc": "11066:94:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11066:94:136"
                  },
                  "nativeSrc": "11066:94:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "11066:94:136"
                },
                {
                  "nativeSrc": "11169:18:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "11169:18:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "11186:1:136",
                    "nodeType": "YulLiteral",
                    "src": "11186:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "srcOffset",
                      "nativeSrc": "11173:9:136",
                      "nodeType": "YulTypedName",
                      "src": "11173:9:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "11230:601:136",
                        "nodeType": "YulBlock",
                        "src": "11230:601:136",
                        "statements": [
                          {
                            "nativeSrc": "11244:32:136",
                            "nodeType": "YulVariableDeclaration",
                            "src": "11244:32:136",
                            "value": {
                              "arguments": [
                                {
                                  "name": "len",
                                  "nativeSrc": "11263:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11263:3:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "11272:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "11272:2:136",
                                      "type": "",
                                      "value": "31"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "11268:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "11268:3:136"
                                  },
                                  "nativeSrc": "11268:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "11268:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "and",
                                "nativeSrc": "11259:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "11259:3:136"
                              },
                              "nativeSrc": "11259:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "11259:17:136"
                            },
                            "variables": [
                              {
                                "name": "loopEnd",
                                "nativeSrc": "11248:7:136",
                                "nodeType": "YulTypedName",
                                "src": "11248:7:136",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "11289:49:136",
                            "nodeType": "YulVariableDeclaration",
                            "src": "11289:49:136",
                            "value": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "11333:4:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11333:4:136"
                                }
                              ],
                              "functionName": {
                                "name": "array_dataslot_string_storage",
                                "nativeSrc": "11303:29:136",
                                "nodeType": "YulIdentifier",
                                "src": "11303:29:136"
                              },
                              "nativeSrc": "11303:35:136",
                              "nodeType": "YulFunctionCall",
                              "src": "11303:35:136"
                            },
                            "variables": [
                              {
                                "name": "dstPtr",
                                "nativeSrc": "11293:6:136",
                                "nodeType": "YulTypedName",
                                "src": "11293:6:136",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "11351:10:136",
                            "nodeType": "YulVariableDeclaration",
                            "src": "11351:10:136",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "11360:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11360:1:136",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "i",
                                "nativeSrc": "11355:1:136",
                                "nodeType": "YulTypedName",
                                "src": "11355:1:136",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "11431:172:136",
                              "nodeType": "YulBlock",
                              "src": "11431:172:136",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "11456:6:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "11456:6:136"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "name": "src",
                                                "nativeSrc": "11481:3:136",
                                                "nodeType": "YulIdentifier",
                                                "src": "11481:3:136"
                                              },
                                              {
                                                "name": "srcOffset",
                                                "nativeSrc": "11486:9:136",
                                                "nodeType": "YulIdentifier",
                                                "src": "11486:9:136"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "11477:3:136",
                                              "nodeType": "YulIdentifier",
                                              "src": "11477:3:136"
                                            },
                                            "nativeSrc": "11477:19:136",
                                            "nodeType": "YulFunctionCall",
                                            "src": "11477:19:136"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "calldataload",
                                          "nativeSrc": "11464:12:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "11464:12:136"
                                        },
                                        "nativeSrc": "11464:33:136",
                                        "nodeType": "YulFunctionCall",
                                        "src": "11464:33:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "11449:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11449:6:136"
                                    },
                                    "nativeSrc": "11449:49:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "11449:49:136"
                                  },
                                  "nativeSrc": "11449:49:136",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "11449:49:136"
                                },
                                {
                                  "nativeSrc": "11515:24:136",
                                  "nodeType": "YulAssignment",
                                  "src": "11515:24:136",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "11529:6:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "11529:6:136"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "11537:1:136",
                                        "nodeType": "YulLiteral",
                                        "src": "11537:1:136",
                                        "type": "",
                                        "value": "1"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "11525:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11525:3:136"
                                    },
                                    "nativeSrc": "11525:14:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "11525:14:136"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "dstPtr",
                                      "nativeSrc": "11515:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11515:6:136"
                                    }
                                  ]
                                },
                                {
                                  "nativeSrc": "11556:33:136",
                                  "nodeType": "YulAssignment",
                                  "src": "11556:33:136",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "srcOffset",
                                        "nativeSrc": "11573:9:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "11573:9:136"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "11584:4:136",
                                        "nodeType": "YulLiteral",
                                        "src": "11584:4:136",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "11569:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11569:3:136"
                                    },
                                    "nativeSrc": "11569:20:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "11569:20:136"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "srcOffset",
                                      "nativeSrc": "11556:9:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11556:9:136"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "i",
                                  "nativeSrc": "11385:1:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11385:1:136"
                                },
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "11388:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11388:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "11382:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "11382:2:136"
                              },
                              "nativeSrc": "11382:14:136",
                              "nodeType": "YulFunctionCall",
                              "src": "11382:14:136"
                            },
                            "nativeSrc": "11374:229:136",
                            "nodeType": "YulForLoop",
                            "post": {
                              "nativeSrc": "11397:21:136",
                              "nodeType": "YulBlock",
                              "src": "11397:21:136",
                              "statements": [
                                {
                                  "nativeSrc": "11399:17:136",
                                  "nodeType": "YulAssignment",
                                  "src": "11399:17:136",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "i",
                                        "nativeSrc": "11408:1:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "11408:1:136"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "11411:4:136",
                                        "nodeType": "YulLiteral",
                                        "src": "11411:4:136",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "11404:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11404:3:136"
                                    },
                                    "nativeSrc": "11404:12:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "11404:12:136"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "i",
                                      "nativeSrc": "11399:1:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11399:1:136"
                                    }
                                  ]
                                }
                              ]
                            },
                            "pre": {
                              "nativeSrc": "11378:3:136",
                              "nodeType": "YulBlock",
                              "src": "11378:3:136",
                              "statements": []
                            },
                            "src": "11374:229:136"
                          },
                          {
                            "body": {
                              "nativeSrc": "11648:127:136",
                              "nodeType": "YulBlock",
                              "src": "11648:127:136",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [
                                      {
                                        "name": "dstPtr",
                                        "nativeSrc": "11673:6:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "11673:6:136"
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "name": "src",
                                                    "nativeSrc": "11702:3:136",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "11702:3:136"
                                                  },
                                                  {
                                                    "name": "srcOffset",
                                                    "nativeSrc": "11707:9:136",
                                                    "nodeType": "YulIdentifier",
                                                    "src": "11707:9:136"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "add",
                                                  "nativeSrc": "11698:3:136",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "11698:3:136"
                                                },
                                                "nativeSrc": "11698:19:136",
                                                "nodeType": "YulFunctionCall",
                                                "src": "11698:19:136"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "calldataload",
                                              "nativeSrc": "11685:12:136",
                                              "nodeType": "YulIdentifier",
                                              "src": "11685:12:136"
                                            },
                                            "nativeSrc": "11685:33:136",
                                            "nodeType": "YulFunctionCall",
                                            "src": "11685:33:136"
                                          },
                                          {
                                            "arguments": [
                                              {
                                                "arguments": [
                                                  {
                                                    "arguments": [
                                                      {
                                                        "arguments": [
                                                          {
                                                            "kind": "number",
                                                            "nativeSrc": "11736:1:136",
                                                            "nodeType": "YulLiteral",
                                                            "src": "11736:1:136",
                                                            "type": "",
                                                            "value": "3"
                                                          },
                                                          {
                                                            "name": "len",
                                                            "nativeSrc": "11739:3:136",
                                                            "nodeType": "YulIdentifier",
                                                            "src": "11739:3:136"
                                                          }
                                                        ],
                                                        "functionName": {
                                                          "name": "shl",
                                                          "nativeSrc": "11732:3:136",
                                                          "nodeType": "YulIdentifier",
                                                          "src": "11732:3:136"
                                                        },
                                                        "nativeSrc": "11732:11:136",
                                                        "nodeType": "YulFunctionCall",
                                                        "src": "11732:11:136"
                                                      },
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "11745:3:136",
                                                        "nodeType": "YulLiteral",
                                                        "src": "11745:3:136",
                                                        "type": "",
                                                        "value": "248"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "and",
                                                      "nativeSrc": "11728:3:136",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "11728:3:136"
                                                    },
                                                    "nativeSrc": "11728:21:136",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "11728:21:136"
                                                  },
                                                  {
                                                    "arguments": [
                                                      {
                                                        "kind": "number",
                                                        "nativeSrc": "11755:1:136",
                                                        "nodeType": "YulLiteral",
                                                        "src": "11755:1:136",
                                                        "type": "",
                                                        "value": "0"
                                                      }
                                                    ],
                                                    "functionName": {
                                                      "name": "not",
                                                      "nativeSrc": "11751:3:136",
                                                      "nodeType": "YulIdentifier",
                                                      "src": "11751:3:136"
                                                    },
                                                    "nativeSrc": "11751:6:136",
                                                    "nodeType": "YulFunctionCall",
                                                    "src": "11751:6:136"
                                                  }
                                                ],
                                                "functionName": {
                                                  "name": "shr",
                                                  "nativeSrc": "11724:3:136",
                                                  "nodeType": "YulIdentifier",
                                                  "src": "11724:3:136"
                                                },
                                                "nativeSrc": "11724:34:136",
                                                "nodeType": "YulFunctionCall",
                                                "src": "11724:34:136"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "not",
                                              "nativeSrc": "11720:3:136",
                                              "nodeType": "YulIdentifier",
                                              "src": "11720:3:136"
                                            },
                                            "nativeSrc": "11720:39:136",
                                            "nodeType": "YulFunctionCall",
                                            "src": "11720:39:136"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "and",
                                          "nativeSrc": "11681:3:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "11681:3:136"
                                        },
                                        "nativeSrc": "11681:79:136",
                                        "nodeType": "YulFunctionCall",
                                        "src": "11681:79:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "sstore",
                                      "nativeSrc": "11666:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11666:6:136"
                                    },
                                    "nativeSrc": "11666:95:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "11666:95:136"
                                  },
                                  "nativeSrc": "11666:95:136",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "11666:95:136"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "loopEnd",
                                  "nativeSrc": "11622:7:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11622:7:136"
                                },
                                {
                                  "name": "len",
                                  "nativeSrc": "11631:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11631:3:136"
                                }
                              ],
                              "functionName": {
                                "name": "lt",
                                "nativeSrc": "11619:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "11619:2:136"
                              },
                              "nativeSrc": "11619:16:136",
                              "nodeType": "YulFunctionCall",
                              "src": "11619:16:136"
                            },
                            "nativeSrc": "11616:159:136",
                            "nodeType": "YulIf",
                            "src": "11616:159:136"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "11795:4:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "11795:4:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "kind": "number",
                                          "nativeSrc": "11809:1:136",
                                          "nodeType": "YulLiteral",
                                          "src": "11809:1:136",
                                          "type": "",
                                          "value": "1"
                                        },
                                        {
                                          "name": "len",
                                          "nativeSrc": "11812:3:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "11812:3:136"
                                        }
                                      ],
                                      "functionName": {
                                        "name": "shl",
                                        "nativeSrc": "11805:3:136",
                                        "nodeType": "YulIdentifier",
                                        "src": "11805:3:136"
                                      },
                                      "nativeSrc": "11805:11:136",
                                      "nodeType": "YulFunctionCall",
                                      "src": "11805:11:136"
                                    },
                                    {
                                      "kind": "number",
                                      "nativeSrc": "11818:1:136",
                                      "nodeType": "YulLiteral",
                                      "src": "11818:1:136",
                                      "type": "",
                                      "value": "1"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "add",
                                    "nativeSrc": "11801:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "11801:3:136"
                                  },
                                  "nativeSrc": "11801:19:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "11801:19:136"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "11788:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "11788:6:136"
                              },
                              "nativeSrc": "11788:33:136",
                              "nodeType": "YulFunctionCall",
                              "src": "11788:33:136"
                            },
                            "nativeSrc": "11788:33:136",
                            "nodeType": "YulExpressionStatement",
                            "src": "11788:33:136"
                          }
                        ]
                      },
                      "nativeSrc": "11223:608:136",
                      "nodeType": "YulCase",
                      "src": "11223:608:136",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "11228:1:136",
                        "nodeType": "YulLiteral",
                        "src": "11228:1:136",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "11848:235:136",
                        "nodeType": "YulBlock",
                        "src": "11848:235:136",
                        "statements": [
                          {
                            "nativeSrc": "11862:14:136",
                            "nodeType": "YulVariableDeclaration",
                            "src": "11862:14:136",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "11875:1:136",
                              "nodeType": "YulLiteral",
                              "src": "11875:1:136",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "value",
                                "nativeSrc": "11866:5:136",
                                "nodeType": "YulTypedName",
                                "src": "11866:5:136",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "body": {
                              "nativeSrc": "11908:74:136",
                              "nodeType": "YulBlock",
                              "src": "11908:74:136",
                              "statements": [
                                {
                                  "nativeSrc": "11926:42:136",
                                  "nodeType": "YulAssignment",
                                  "src": "11926:42:136",
                                  "value": {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "name": "src",
                                            "nativeSrc": "11952:3:136",
                                            "nodeType": "YulIdentifier",
                                            "src": "11952:3:136"
                                          },
                                          {
                                            "name": "srcOffset",
                                            "nativeSrc": "11957:9:136",
                                            "nodeType": "YulIdentifier",
                                            "src": "11957:9:136"
                                          }
                                        ],
                                        "functionName": {
                                          "name": "add",
                                          "nativeSrc": "11948:3:136",
                                          "nodeType": "YulIdentifier",
                                          "src": "11948:3:136"
                                        },
                                        "nativeSrc": "11948:19:136",
                                        "nodeType": "YulFunctionCall",
                                        "src": "11948:19:136"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "calldataload",
                                      "nativeSrc": "11935:12:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11935:12:136"
                                    },
                                    "nativeSrc": "11935:33:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "11935:33:136"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "11926:5:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "11926:5:136"
                                    }
                                  ]
                                }
                              ]
                            },
                            "condition": {
                              "name": "len",
                              "nativeSrc": "11892:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "11892:3:136"
                            },
                            "nativeSrc": "11889:93:136",
                            "nodeType": "YulIf",
                            "src": "11889:93:136"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "name": "slot",
                                  "nativeSrc": "12002:4:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12002:4:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "name": "value",
                                      "nativeSrc": "12061:5:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "12061:5:136"
                                    },
                                    {
                                      "name": "len",
                                      "nativeSrc": "12068:3:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "12068:3:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "extract_used_part_and_set_length_of_short_byte_array",
                                    "nativeSrc": "12008:52:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12008:52:136"
                                  },
                                  "nativeSrc": "12008:64:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "12008:64:136"
                                }
                              ],
                              "functionName": {
                                "name": "sstore",
                                "nativeSrc": "11995:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "11995:6:136"
                              },
                              "nativeSrc": "11995:78:136",
                              "nodeType": "YulFunctionCall",
                              "src": "11995:78:136"
                            },
                            "nativeSrc": "11995:78:136",
                            "nodeType": "YulExpressionStatement",
                            "src": "11995:78:136"
                          }
                        ]
                      },
                      "nativeSrc": "11840:243:136",
                      "nodeType": "YulCase",
                      "src": "11840:243:136",
                      "value": "default"
                    }
                  ],
                  "expression": {
                    "arguments": [
                      {
                        "name": "len",
                        "nativeSrc": "11206:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "11206:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "11211:2:136",
                        "nodeType": "YulLiteral",
                        "src": "11211:2:136",
                        "type": "",
                        "value": "31"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "11203:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "11203:2:136"
                    },
                    "nativeSrc": "11203:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "11203:11:136"
                  },
                  "nativeSrc": "11196:887:136",
                  "nodeType": "YulSwitch",
                  "src": "11196:887:136"
                }
              ]
            },
            "name": "copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage",
            "nativeSrc": "10891:1198:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "slot",
                "nativeSrc": "10974:4:136",
                "nodeType": "YulTypedName",
                "src": "10974:4:136",
                "type": ""
              },
              {
                "name": "src",
                "nativeSrc": "10980:3:136",
                "nodeType": "YulTypedName",
                "src": "10980:3:136",
                "type": ""
              },
              {
                "name": "len",
                "nativeSrc": "10985:3:136",
                "nodeType": "YulTypedName",
                "src": "10985:3:136",
                "type": ""
              }
            ],
            "src": "10891:1198:136"
          },
          {
            "body": {
              "nativeSrc": "12126:95:136",
              "nodeType": "YulBlock",
              "src": "12126:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "12143:1:136",
                        "nodeType": "YulLiteral",
                        "src": "12143:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "12150:3:136",
                            "nodeType": "YulLiteral",
                            "src": "12150:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12155:10:136",
                            "nodeType": "YulLiteral",
                            "src": "12155:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "12146:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12146:3:136"
                        },
                        "nativeSrc": "12146:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12146:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12136:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12136:6:136"
                    },
                    "nativeSrc": "12136:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12136:31:136"
                  },
                  "nativeSrc": "12136:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12136:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "12183:1:136",
                        "nodeType": "YulLiteral",
                        "src": "12183:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12186:4:136",
                        "nodeType": "YulLiteral",
                        "src": "12186:4:136",
                        "type": "",
                        "value": "0x11"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12176:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12176:6:136"
                    },
                    "nativeSrc": "12176:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12176:15:136"
                  },
                  "nativeSrc": "12176:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12176:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "12207:1:136",
                        "nodeType": "YulLiteral",
                        "src": "12207:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12210:4:136",
                        "nodeType": "YulLiteral",
                        "src": "12210:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "12200:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12200:6:136"
                    },
                    "nativeSrc": "12200:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12200:15:136"
                  },
                  "nativeSrc": "12200:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12200:15:136"
                }
              ]
            },
            "name": "panic_error_0x11",
            "nativeSrc": "12094:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "12094:127:136"
          },
          {
            "body": {
              "nativeSrc": "12274:77:136",
              "nodeType": "YulBlock",
              "src": "12274:77:136",
              "statements": [
                {
                  "nativeSrc": "12284:16:136",
                  "nodeType": "YulAssignment",
                  "src": "12284:16:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "12295:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "12295:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "12298:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "12298:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12291:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12291:3:136"
                    },
                    "nativeSrc": "12291:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12291:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "sum",
                      "nativeSrc": "12284:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12284:3:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "12323:22:136",
                    "nodeType": "YulBlock",
                    "src": "12323:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "12325:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "12325:16:136"
                          },
                          "nativeSrc": "12325:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "12325:18:136"
                        },
                        "nativeSrc": "12325:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "12325:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "12315:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "12315:1:136"
                      },
                      {
                        "name": "sum",
                        "nativeSrc": "12318:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "12318:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "12312:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "12312:2:136"
                    },
                    "nativeSrc": "12312:10:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12312:10:136"
                  },
                  "nativeSrc": "12309:36:136",
                  "nodeType": "YulIf",
                  "src": "12309:36:136"
                }
              ]
            },
            "name": "checked_add_t_uint256",
            "nativeSrc": "12226:125:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "12257:1:136",
                "nodeType": "YulTypedName",
                "src": "12257:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "12260:1:136",
                "nodeType": "YulTypedName",
                "src": "12260:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "sum",
                "nativeSrc": "12266:3:136",
                "nodeType": "YulTypedName",
                "src": "12266:3:136",
                "type": ""
              }
            ],
            "src": "12226:125:136"
          },
          {
            "body": {
              "nativeSrc": "12423:200:136",
              "nodeType": "YulBlock",
              "src": "12423:200:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "12440:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "12440:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "12445:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "12445:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12433:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12433:6:136"
                    },
                    "nativeSrc": "12433:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12433:19:136"
                  },
                  "nativeSrc": "12433:19:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12433:19:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "12478:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "12478:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12483:4:136",
                            "nodeType": "YulLiteral",
                            "src": "12483:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12474:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12474:3:136"
                        },
                        "nativeSrc": "12474:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12474:14:136"
                      },
                      {
                        "name": "start",
                        "nativeSrc": "12490:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "12490:5:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "12497:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "12497:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "12461:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "12461:12:136"
                    },
                    "nativeSrc": "12461:43:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12461:43:136"
                  },
                  "nativeSrc": "12461:43:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12461:43:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "pos",
                                "nativeSrc": "12528:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "12528:3:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "12533:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "12533:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "12524:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "12524:3:136"
                            },
                            "nativeSrc": "12524:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "12524:16:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12542:4:136",
                            "nodeType": "YulLiteral",
                            "src": "12542:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12520:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12520:3:136"
                        },
                        "nativeSrc": "12520:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12520:27:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12549:1:136",
                        "nodeType": "YulLiteral",
                        "src": "12549:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12513:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12513:6:136"
                    },
                    "nativeSrc": "12513:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12513:38:136"
                  },
                  "nativeSrc": "12513:38:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12513:38:136"
                },
                {
                  "nativeSrc": "12560:57:136",
                  "nodeType": "YulAssignment",
                  "src": "12560:57:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "12575:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "12575:3:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "length",
                                    "nativeSrc": "12588:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "12588:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12596:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "12596:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "12584:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12584:3:136"
                                },
                                "nativeSrc": "12584:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12584:15:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "12605:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "12605:2:136",
                                    "type": "",
                                    "value": "31"
                                  }
                                ],
                                "functionName": {
                                  "name": "not",
                                  "nativeSrc": "12601:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "12601:3:136"
                                },
                                "nativeSrc": "12601:7:136",
                                "nodeType": "YulFunctionCall",
                                "src": "12601:7:136"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "12580:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "12580:3:136"
                            },
                            "nativeSrc": "12580:29:136",
                            "nodeType": "YulFunctionCall",
                            "src": "12580:29:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12571:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12571:3:136"
                        },
                        "nativeSrc": "12571:39:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12571:39:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12612:4:136",
                        "nodeType": "YulLiteral",
                        "src": "12612:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12567:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12567:3:136"
                    },
                    "nativeSrc": "12567:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12567:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "12560:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12560:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_string_calldata",
            "nativeSrc": "12356:267:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "start",
                "nativeSrc": "12392:5:136",
                "nodeType": "YulTypedName",
                "src": "12392:5:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "12399:6:136",
                "nodeType": "YulTypedName",
                "src": "12399:6:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "12407:3:136",
                "nodeType": "YulTypedName",
                "src": "12407:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "12415:3:136",
                "nodeType": "YulTypedName",
                "src": "12415:3:136",
                "type": ""
              }
            ],
            "src": "12356:267:136"
          },
          {
            "body": {
              "nativeSrc": "12837:1116:136",
              "nodeType": "YulBlock",
              "src": "12837:1116:136",
              "statements": [
                {
                  "nativeSrc": "12847:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12847:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12865:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "12865:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12876:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12876:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "12861:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "12861:3:136"
                    },
                    "nativeSrc": "12861:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12861:18:136"
                  },
                  "variables": [
                    {
                      "name": "tail_1",
                      "nativeSrc": "12851:6:136",
                      "nodeType": "YulTypedName",
                      "src": "12851:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "12895:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "12895:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "12910:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "12910:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "12922:3:136",
                                "nodeType": "YulLiteral",
                                "src": "12922:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "12927:10:136",
                                "nodeType": "YulLiteral",
                                "src": "12927:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "12918:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "12918:3:136"
                            },
                            "nativeSrc": "12918:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "12918:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "12906:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12906:3:136"
                        },
                        "nativeSrc": "12906:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12906:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12888:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12888:6:136"
                    },
                    "nativeSrc": "12888:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12888:52:136"
                  },
                  "nativeSrc": "12888:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12888:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "12960:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "12960:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "12971:2:136",
                            "nodeType": "YulLiteral",
                            "src": "12971:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "12956:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "12956:3:136"
                        },
                        "nativeSrc": "12956:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "12956:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "12976:2:136",
                        "nodeType": "YulLiteral",
                        "src": "12976:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "12949:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "12949:6:136"
                    },
                    "nativeSrc": "12949:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "12949:30:136"
                  },
                  "nativeSrc": "12949:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "12949:30:136"
                },
                {
                  "nativeSrc": "12988:17:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "12988:17:136",
                  "value": {
                    "name": "tail_1",
                    "nativeSrc": "12999:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "12999:6:136"
                  },
                  "variables": [
                    {
                      "name": "pos",
                      "nativeSrc": "12992:3:136",
                      "nodeType": "YulTypedName",
                      "src": "12992:3:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "tail_1",
                        "nativeSrc": "13021:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13021:6:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "13029:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13029:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "13014:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "13014:6:136"
                    },
                    "nativeSrc": "13014:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13014:22:136"
                  },
                  "nativeSrc": "13014:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "13014:22:136"
                },
                {
                  "nativeSrc": "13045:25:136",
                  "nodeType": "YulAssignment",
                  "src": "13045:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "13056:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "13056:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13067:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13067:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13052:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "13052:3:136"
                    },
                    "nativeSrc": "13052:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13052:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "pos",
                      "nativeSrc": "13045:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "13045:3:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "13079:53:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13079:53:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "13101:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "13101:9:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "13116:1:136",
                                "nodeType": "YulLiteral",
                                "src": "13116:1:136",
                                "type": "",
                                "value": "5"
                              },
                              {
                                "name": "value2",
                                "nativeSrc": "13119:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "13119:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "13112:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "13112:3:136"
                            },
                            "nativeSrc": "13112:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "13112:14:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "13097:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13097:3:136"
                        },
                        "nativeSrc": "13097:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13097:30:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "13129:2:136",
                        "nodeType": "YulLiteral",
                        "src": "13129:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13093:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "13093:3:136"
                    },
                    "nativeSrc": "13093:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13093:39:136"
                  },
                  "variables": [
                    {
                      "name": "tail_2",
                      "nativeSrc": "13083:6:136",
                      "nodeType": "YulTypedName",
                      "src": "13083:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13141:20:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13141:20:136",
                  "value": {
                    "name": "value1",
                    "nativeSrc": "13155:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "13155:6:136"
                  },
                  "variables": [
                    {
                      "name": "srcPtr",
                      "nativeSrc": "13145:6:136",
                      "nodeType": "YulTypedName",
                      "src": "13145:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13170:10:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13170:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "13179:1:136",
                    "nodeType": "YulLiteral",
                    "src": "13179:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "i",
                      "nativeSrc": "13174:1:136",
                      "nodeType": "YulTypedName",
                      "src": "13174:1:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "13189:51:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "13189:51:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [],
                            "functionName": {
                              "name": "calldatasize",
                              "nativeSrc": "13207:12:136",
                              "nodeType": "YulIdentifier",
                              "src": "13207:12:136"
                            },
                            "nativeSrc": "13207:14:136",
                            "nodeType": "YulFunctionCall",
                            "src": "13207:14:136"
                          },
                          {
                            "name": "value1",
                            "nativeSrc": "13223:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13223:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "13203:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13203:3:136"
                        },
                        "nativeSrc": "13203:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13203:27:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "13236:2:136",
                            "nodeType": "YulLiteral",
                            "src": "13236:2:136",
                            "type": "",
                            "value": "30"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "13232:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "13232:3:136"
                        },
                        "nativeSrc": "13232:7:136",
                        "nodeType": "YulFunctionCall",
                        "src": "13232:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "13199:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "13199:3:136"
                    },
                    "nativeSrc": "13199:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13199:41:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "13193:2:136",
                      "nodeType": "YulTypedName",
                      "src": "13193:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "13298:626:136",
                    "nodeType": "YulBlock",
                    "src": "13298:626:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "13319:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "13319:3:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "name": "tail_2",
                                      "nativeSrc": "13332:6:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "13332:6:136"
                                    },
                                    {
                                      "name": "headStart",
                                      "nativeSrc": "13340:9:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "13340:9:136"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "sub",
                                    "nativeSrc": "13328:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "13328:3:136"
                                  },
                                  "nativeSrc": "13328:22:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "13328:22:136"
                                },
                                {
                                  "arguments": [
                                    {
                                      "kind": "number",
                                      "nativeSrc": "13356:2:136",
                                      "nodeType": "YulLiteral",
                                      "src": "13356:2:136",
                                      "type": "",
                                      "value": "95"
                                    }
                                  ],
                                  "functionName": {
                                    "name": "not",
                                    "nativeSrc": "13352:3:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "13352:3:136"
                                  },
                                  "nativeSrc": "13352:7:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "13352:7:136"
                                }
                              ],
                              "functionName": {
                                "name": "add",
                                "nativeSrc": "13324:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13324:3:136"
                              },
                              "nativeSrc": "13324:36:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13324:36:136"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "13312:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13312:6:136"
                          },
                          "nativeSrc": "13312:49:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13312:49:136"
                        },
                        "nativeSrc": "13312:49:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "13312:49:136"
                      },
                      {
                        "nativeSrc": "13374:46:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13374:46:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "13413:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "13413:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "13400:12:136",
                            "nodeType": "YulIdentifier",
                            "src": "13400:12:136"
                          },
                          "nativeSrc": "13400:20:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13400:20:136"
                        },
                        "variables": [
                          {
                            "name": "rel_offset_of_tail",
                            "nativeSrc": "13378:18:136",
                            "nodeType": "YulTypedName",
                            "src": "13378:18:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "13472:16:136",
                          "nodeType": "YulBlock",
                          "src": "13472:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13481:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "13481:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13484:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "13484:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "13474:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13474:6:136"
                                },
                                "nativeSrc": "13474:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "13474:12:136"
                              },
                              "nativeSrc": "13474:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "13474:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "name": "rel_offset_of_tail",
                                  "nativeSrc": "13447:18:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13447:18:136"
                                },
                                {
                                  "name": "_1",
                                  "nativeSrc": "13467:2:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13467:2:136"
                                }
                              ],
                              "functionName": {
                                "name": "slt",
                                "nativeSrc": "13443:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13443:3:136"
                              },
                              "nativeSrc": "13443:27:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13443:27:136"
                            }
                          ],
                          "functionName": {
                            "name": "iszero",
                            "nativeSrc": "13436:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13436:6:136"
                          },
                          "nativeSrc": "13436:35:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13436:35:136"
                        },
                        "nativeSrc": "13433:55:136",
                        "nodeType": "YulIf",
                        "src": "13433:55:136"
                      },
                      {
                        "nativeSrc": "13501:44:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13501:44:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "rel_offset_of_tail",
                              "nativeSrc": "13518:18:136",
                              "nodeType": "YulIdentifier",
                              "src": "13518:18:136"
                            },
                            {
                              "name": "value1",
                              "nativeSrc": "13538:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "13538:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "13514:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "13514:3:136"
                          },
                          "nativeSrc": "13514:31:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13514:31:136"
                        },
                        "variables": [
                          {
                            "name": "value",
                            "nativeSrc": "13505:5:136",
                            "nodeType": "YulTypedName",
                            "src": "13505:5:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13558:33:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13558:33:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "13585:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "13585:5:136"
                            }
                          ],
                          "functionName": {
                            "name": "calldataload",
                            "nativeSrc": "13572:12:136",
                            "nodeType": "YulIdentifier",
                            "src": "13572:12:136"
                          },
                          "nativeSrc": "13572:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13572:19:136"
                        },
                        "variables": [
                          {
                            "name": "length",
                            "nativeSrc": "13562:6:136",
                            "nodeType": "YulTypedName",
                            "src": "13562:6:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13604:29:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "13604:29:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "value",
                              "nativeSrc": "13623:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "13623:5:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13630:2:136",
                              "nodeType": "YulLiteral",
                              "src": "13630:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "13619:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "13619:3:136"
                          },
                          "nativeSrc": "13619:14:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13619:14:136"
                        },
                        "variables": [
                          {
                            "name": "value_1",
                            "nativeSrc": "13608:7:136",
                            "nodeType": "YulTypedName",
                            "src": "13608:7:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "body": {
                          "nativeSrc": "13680:16:136",
                          "nodeType": "YulBlock",
                          "src": "13680:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13689:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "13689:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13692:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "13692:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "13682:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13682:6:136"
                                },
                                "nativeSrc": "13682:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "13682:12:136"
                              },
                              "nativeSrc": "13682:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "13682:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "length",
                              "nativeSrc": "13652:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "13652:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13660:18:136",
                              "nodeType": "YulLiteral",
                              "src": "13660:18:136",
                              "type": "",
                              "value": "0xffffffffffffffff"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "13649:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "13649:2:136"
                          },
                          "nativeSrc": "13649:30:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13649:30:136"
                        },
                        "nativeSrc": "13646:50:136",
                        "nodeType": "YulIf",
                        "src": "13646:50:136"
                      },
                      {
                        "body": {
                          "nativeSrc": "13754:16:136",
                          "nodeType": "YulBlock",
                          "src": "13754:16:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13763:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "13763:1:136",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "13766:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "13766:1:136",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "revert",
                                  "nativeSrc": "13756:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13756:6:136"
                                },
                                "nativeSrc": "13756:12:136",
                                "nodeType": "YulFunctionCall",
                                "src": "13756:12:136"
                              },
                              "nativeSrc": "13756:12:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "13756:12:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "value_1",
                              "nativeSrc": "13716:7:136",
                              "nodeType": "YulIdentifier",
                              "src": "13716:7:136"
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [],
                                  "functionName": {
                                    "name": "calldatasize",
                                    "nativeSrc": "13729:12:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "13729:12:136"
                                  },
                                  "nativeSrc": "13729:14:136",
                                  "nodeType": "YulFunctionCall",
                                  "src": "13729:14:136"
                                },
                                {
                                  "name": "length",
                                  "nativeSrc": "13745:6:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "13745:6:136"
                                }
                              ],
                              "functionName": {
                                "name": "sub",
                                "nativeSrc": "13725:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "13725:3:136"
                              },
                              "nativeSrc": "13725:27:136",
                              "nodeType": "YulFunctionCall",
                              "src": "13725:27:136"
                            }
                          ],
                          "functionName": {
                            "name": "sgt",
                            "nativeSrc": "13712:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "13712:3:136"
                          },
                          "nativeSrc": "13712:41:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13712:41:136"
                        },
                        "nativeSrc": "13709:61:136",
                        "nodeType": "YulIf",
                        "src": "13709:61:136"
                      },
                      {
                        "nativeSrc": "13783:61:136",
                        "nodeType": "YulAssignment",
                        "src": "13783:61:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "value_1",
                              "nativeSrc": "13820:7:136",
                              "nodeType": "YulIdentifier",
                              "src": "13820:7:136"
                            },
                            {
                              "name": "length",
                              "nativeSrc": "13829:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "13829:6:136"
                            },
                            {
                              "name": "tail_2",
                              "nativeSrc": "13837:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "13837:6:136"
                            }
                          ],
                          "functionName": {
                            "name": "abi_encode_string_calldata",
                            "nativeSrc": "13793:26:136",
                            "nodeType": "YulIdentifier",
                            "src": "13793:26:136"
                          },
                          "nativeSrc": "13793:51:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13793:51:136"
                        },
                        "variableNames": [
                          {
                            "name": "tail_2",
                            "nativeSrc": "13783:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13783:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13857:25:136",
                        "nodeType": "YulAssignment",
                        "src": "13857:25:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "srcPtr",
                              "nativeSrc": "13871:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "13871:6:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13879:2:136",
                              "nodeType": "YulLiteral",
                              "src": "13879:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "13867:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "13867:3:136"
                          },
                          "nativeSrc": "13867:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13867:15:136"
                        },
                        "variableNames": [
                          {
                            "name": "srcPtr",
                            "nativeSrc": "13857:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "13857:6:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "13895:19:136",
                        "nodeType": "YulAssignment",
                        "src": "13895:19:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "pos",
                              "nativeSrc": "13906:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "13906:3:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13911:2:136",
                              "nodeType": "YulLiteral",
                              "src": "13911:2:136",
                              "type": "",
                              "value": "32"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "13902:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "13902:3:136"
                          },
                          "nativeSrc": "13902:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13902:12:136"
                        },
                        "variableNames": [
                          {
                            "name": "pos",
                            "nativeSrc": "13895:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "13895:3:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "i",
                        "nativeSrc": "13260:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "13260:1:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "13263:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "13263:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "lt",
                      "nativeSrc": "13257:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "13257:2:136"
                    },
                    "nativeSrc": "13257:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "13257:13:136"
                  },
                  "nativeSrc": "13249:675:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "13271:18:136",
                    "nodeType": "YulBlock",
                    "src": "13271:18:136",
                    "statements": [
                      {
                        "nativeSrc": "13273:14:136",
                        "nodeType": "YulAssignment",
                        "src": "13273:14:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "i",
                              "nativeSrc": "13282:1:136",
                              "nodeType": "YulIdentifier",
                              "src": "13282:1:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "13285:1:136",
                              "nodeType": "YulLiteral",
                              "src": "13285:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "add",
                            "nativeSrc": "13278:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "13278:3:136"
                          },
                          "nativeSrc": "13278:9:136",
                          "nodeType": "YulFunctionCall",
                          "src": "13278:9:136"
                        },
                        "variableNames": [
                          {
                            "name": "i",
                            "nativeSrc": "13273:1:136",
                            "nodeType": "YulIdentifier",
                            "src": "13273:1:136"
                          }
                        ]
                      }
                    ]
                  },
                  "pre": {
                    "nativeSrc": "13253:3:136",
                    "nodeType": "YulBlock",
                    "src": "13253:3:136",
                    "statements": []
                  },
                  "src": "13249:675:136"
                },
                {
                  "nativeSrc": "13933:14:136",
                  "nodeType": "YulAssignment",
                  "src": "13933:14:136",
                  "value": {
                    "name": "tail_2",
                    "nativeSrc": "13941:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "13941:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "13933:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "13933:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_bytes4_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed",
            "nativeSrc": "12628:1325:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "12790:9:136",
                "nodeType": "YulTypedName",
                "src": "12790:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "12801:6:136",
                "nodeType": "YulTypedName",
                "src": "12801:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "12809:6:136",
                "nodeType": "YulTypedName",
                "src": "12809:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "12817:6:136",
                "nodeType": "YulTypedName",
                "src": "12817:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "12828:4:136",
                "nodeType": "YulTypedName",
                "src": "12828:4:136",
                "type": ""
              }
            ],
            "src": "12628:1325:136"
          },
          {
            "body": {
              "nativeSrc": "14007:162:136",
              "nodeType": "YulBlock",
              "src": "14007:162:136",
              "statements": [
                {
                  "nativeSrc": "14017:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14017:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "14037:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "14037:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "14031:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "14031:5:136"
                    },
                    "nativeSrc": "14031:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14031:12:136"
                  },
                  "variables": [
                    {
                      "name": "length",
                      "nativeSrc": "14021:6:136",
                      "nodeType": "YulTypedName",
                      "src": "14021:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "14058:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "14058:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "14067:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "14067:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14074:4:136",
                            "nodeType": "YulLiteral",
                            "src": "14074:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14063:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14063:3:136"
                        },
                        "nativeSrc": "14063:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14063:16:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "14081:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14081:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "14052:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "14052:5:136"
                    },
                    "nativeSrc": "14052:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14052:36:136"
                  },
                  "nativeSrc": "14052:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14052:36:136"
                },
                {
                  "nativeSrc": "14097:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14097:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "14111:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "14111:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "14116:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14116:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14107:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14107:3:136"
                    },
                    "nativeSrc": "14107:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14107:16:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "14101:2:136",
                      "nodeType": "YulTypedName",
                      "src": "14101:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "14139:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "14139:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14143:1:136",
                        "nodeType": "YulLiteral",
                        "src": "14143:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14132:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14132:6:136"
                    },
                    "nativeSrc": "14132:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14132:13:136"
                  },
                  "nativeSrc": "14132:13:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14132:13:136"
                },
                {
                  "nativeSrc": "14154:9:136",
                  "nodeType": "YulAssignment",
                  "src": "14154:9:136",
                  "value": {
                    "name": "_1",
                    "nativeSrc": "14161:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "14161:2:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "14154:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14154:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_bytes",
            "nativeSrc": "13958:211:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "13984:5:136",
                "nodeType": "YulTypedName",
                "src": "13984:5:136",
                "type": ""
              },
              {
                "name": "pos",
                "nativeSrc": "13991:3:136",
                "nodeType": "YulTypedName",
                "src": "13991:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "13999:3:136",
                "nodeType": "YulTypedName",
                "src": "13999:3:136",
                "type": ""
              }
            ],
            "src": "13958:211:136"
          },
          {
            "body": {
              "nativeSrc": "14311:52:136",
              "nodeType": "YulBlock",
              "src": "14311:52:136",
              "statements": [
                {
                  "nativeSrc": "14321:36:136",
                  "nodeType": "YulAssignment",
                  "src": "14321:36:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "14345:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14345:6:136"
                      },
                      {
                        "name": "pos",
                        "nativeSrc": "14353:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "14353:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "14328:16:136",
                      "nodeType": "YulIdentifier",
                      "src": "14328:16:136"
                    },
                    "nativeSrc": "14328:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14328:29:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "14321:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14321:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "14174:189:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "14287:3:136",
                "nodeType": "YulTypedName",
                "src": "14287:3:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "14292:6:136",
                "nodeType": "YulTypedName",
                "src": "14292:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "14303:3:136",
                "nodeType": "YulTypedName",
                "src": "14303:3:136",
                "type": ""
              }
            ],
            "src": "14174:189:136"
          },
          {
            "body": {
              "nativeSrc": "14454:634:136",
              "nodeType": "YulBlock",
              "src": "14454:634:136",
              "statements": [
                {
                  "nativeSrc": "14464:13:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14464:13:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "14476:1:136",
                    "nodeType": "YulLiteral",
                    "src": "14476:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "size",
                      "nativeSrc": "14468:4:136",
                      "nodeType": "YulTypedName",
                      "src": "14468:4:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14520:22:136",
                    "nodeType": "YulBlock",
                    "src": "14520:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "14522:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "14522:16:136"
                          },
                          "nativeSrc": "14522:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14522:18:136"
                        },
                        "nativeSrc": "14522:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14522:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "length",
                        "nativeSrc": "14492:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14492:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14500:18:136",
                        "nodeType": "YulLiteral",
                        "src": "14500:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14489:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "14489:2:136"
                    },
                    "nativeSrc": "14489:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14489:30:136"
                  },
                  "nativeSrc": "14486:56:136",
                  "nodeType": "YulIf",
                  "src": "14486:56:136"
                },
                {
                  "nativeSrc": "14551:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14551:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "length",
                            "nativeSrc": "14573:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14573:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14581:2:136",
                            "nodeType": "YulLiteral",
                            "src": "14581:2:136",
                            "type": "",
                            "value": "31"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14569:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14569:3:136"
                        },
                        "nativeSrc": "14569:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14569:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "14590:2:136",
                            "nodeType": "YulLiteral",
                            "src": "14590:2:136",
                            "type": "",
                            "value": "31"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "14586:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14586:3:136"
                        },
                        "nativeSrc": "14586:7:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14586:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "and",
                      "nativeSrc": "14565:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14565:3:136"
                    },
                    "nativeSrc": "14565:29:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14565:29:136"
                  },
                  "variables": [
                    {
                      "name": "result",
                      "nativeSrc": "14555:6:136",
                      "nodeType": "YulTypedName",
                      "src": "14555:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14603:25:136",
                  "nodeType": "YulAssignment",
                  "src": "14603:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "result",
                        "nativeSrc": "14615:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14615:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "14623:4:136",
                        "nodeType": "YulLiteral",
                        "src": "14623:4:136",
                        "type": "",
                        "value": "0x20"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14611:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14611:3:136"
                    },
                    "nativeSrc": "14611:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14611:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "size",
                      "nativeSrc": "14603:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "14603:4:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "14637:15:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14637:15:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "14651:1:136",
                    "nodeType": "YulLiteral",
                    "src": "14651:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "14641:6:136",
                      "nodeType": "YulTypedName",
                      "src": "14641:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "14661:19:136",
                  "nodeType": "YulAssignment",
                  "src": "14661:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "14677:2:136",
                        "nodeType": "YulLiteral",
                        "src": "14677:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "14671:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "14671:5:136"
                    },
                    "nativeSrc": "14671:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14671:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "14661:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14661:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "14689:60:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "14689:60:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "14711:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14711:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "result",
                                "nativeSrc": "14727:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "14727:6:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "14735:2:136",
                                "nodeType": "YulLiteral",
                                "src": "14735:2:136",
                                "type": "",
                                "value": "63"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "14723:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "14723:3:136"
                            },
                            "nativeSrc": "14723:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "14723:15:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "14744:2:136",
                                "nodeType": "YulLiteral",
                                "src": "14744:2:136",
                                "type": "",
                                "value": "31"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "14740:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "14740:3:136"
                            },
                            "nativeSrc": "14740:7:136",
                            "nodeType": "YulFunctionCall",
                            "src": "14740:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "14719:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14719:3:136"
                        },
                        "nativeSrc": "14719:29:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14719:29:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "14707:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "14707:3:136"
                    },
                    "nativeSrc": "14707:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14707:42:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "14693:10:136",
                      "nodeType": "YulTypedName",
                      "src": "14693:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "14824:22:136",
                    "nodeType": "YulBlock",
                    "src": "14824:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "14826:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "14826:16:136"
                          },
                          "nativeSrc": "14826:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14826:18:136"
                        },
                        "nativeSrc": "14826:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14826:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "14767:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "14767:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "14779:18:136",
                            "nodeType": "YulLiteral",
                            "src": "14779:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "14764:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "14764:2:136"
                        },
                        "nativeSrc": "14764:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14764:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "14803:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "14803:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "14815:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14815:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "14800:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "14800:2:136"
                        },
                        "nativeSrc": "14800:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14800:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "14761:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "14761:2:136"
                    },
                    "nativeSrc": "14761:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14761:62:136"
                  },
                  "nativeSrc": "14758:88:136",
                  "nodeType": "YulIf",
                  "src": "14758:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "14862:2:136",
                        "nodeType": "YulLiteral",
                        "src": "14862:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "14866:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "14866:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14855:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14855:6:136"
                    },
                    "nativeSrc": "14855:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14855:22:136"
                  },
                  "nativeSrc": "14855:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14855:22:136"
                },
                {
                  "nativeSrc": "14886:15:136",
                  "nodeType": "YulAssignment",
                  "src": "14886:15:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "14895:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "14895:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "array",
                      "nativeSrc": "14886:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "14886:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "14917:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14917:6:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "14925:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "14925:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "14910:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "14910:6:136"
                    },
                    "nativeSrc": "14910:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14910:22:136"
                  },
                  "nativeSrc": "14910:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14910:22:136"
                },
                {
                  "body": {
                    "nativeSrc": "14970:16:136",
                    "nodeType": "YulBlock",
                    "src": "14970:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "14979:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14979:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "14982:1:136",
                              "nodeType": "YulLiteral",
                              "src": "14982:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "14972:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14972:6:136"
                          },
                          "nativeSrc": "14972:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "14972:12:136"
                        },
                        "nativeSrc": "14972:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "14972:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "src",
                            "nativeSrc": "14951:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "14951:3:136"
                          },
                          {
                            "name": "length",
                            "nativeSrc": "14956:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "14956:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "14947:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "14947:3:136"
                        },
                        "nativeSrc": "14947:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "14947:16:136"
                      },
                      {
                        "name": "end",
                        "nativeSrc": "14965:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "14965:3:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "14944:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "14944:2:136"
                    },
                    "nativeSrc": "14944:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14944:25:136"
                  },
                  "nativeSrc": "14941:45:136",
                  "nodeType": "YulIf",
                  "src": "14941:45:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "15005:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15005:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15013:4:136",
                            "nodeType": "YulLiteral",
                            "src": "15013:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15001:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15001:3:136"
                        },
                        "nativeSrc": "15001:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15001:17:136"
                      },
                      {
                        "name": "src",
                        "nativeSrc": "15020:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "15020:3:136"
                      },
                      {
                        "name": "length",
                        "nativeSrc": "15025:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "15025:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mcopy",
                      "nativeSrc": "14995:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "14995:5:136"
                    },
                    "nativeSrc": "14995:37:136",
                    "nodeType": "YulFunctionCall",
                    "src": "14995:37:136"
                  },
                  "nativeSrc": "14995:37:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "14995:37:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "memPtr",
                                "nativeSrc": "15056:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "15056:6:136"
                              },
                              {
                                "name": "length",
                                "nativeSrc": "15064:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "15064:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "15052:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "15052:3:136"
                            },
                            "nativeSrc": "15052:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "15052:19:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15073:4:136",
                            "nodeType": "YulLiteral",
                            "src": "15073:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15048:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15048:3:136"
                        },
                        "nativeSrc": "15048:30:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15048:30:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15080:1:136",
                        "nodeType": "YulLiteral",
                        "src": "15080:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15041:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15041:6:136"
                    },
                    "nativeSrc": "15041:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15041:41:136"
                  },
                  "nativeSrc": "15041:41:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "15041:41:136"
                }
              ]
            },
            "name": "abi_decode_available_length_string_fromMemory",
            "nativeSrc": "14368:720:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "src",
                "nativeSrc": "14423:3:136",
                "nodeType": "YulTypedName",
                "src": "14423:3:136",
                "type": ""
              },
              {
                "name": "length",
                "nativeSrc": "14428:6:136",
                "nodeType": "YulTypedName",
                "src": "14428:6:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "14436:3:136",
                "nodeType": "YulTypedName",
                "src": "14436:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "array",
                "nativeSrc": "14444:5:136",
                "nodeType": "YulTypedName",
                "src": "14444:5:136",
                "type": ""
              }
            ],
            "src": "14368:720:136"
          },
          {
            "body": {
              "nativeSrc": "15184:368:136",
              "nodeType": "YulBlock",
              "src": "15184:368:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "15230:16:136",
                    "nodeType": "YulBlock",
                    "src": "15230:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15239:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15239:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15242:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15242:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15232:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15232:6:136"
                          },
                          "nativeSrc": "15232:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15232:12:136"
                        },
                        "nativeSrc": "15232:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15232:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15205:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "15205:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "15214:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "15214:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "15201:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15201:3:136"
                        },
                        "nativeSrc": "15201:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15201:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15226:2:136",
                        "nodeType": "YulLiteral",
                        "src": "15226:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "15197:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15197:3:136"
                    },
                    "nativeSrc": "15197:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15197:32:136"
                  },
                  "nativeSrc": "15194:52:136",
                  "nodeType": "YulIf",
                  "src": "15194:52:136"
                },
                {
                  "nativeSrc": "15255:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15255:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15275:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15275:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "15269:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "15269:5:136"
                    },
                    "nativeSrc": "15269:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15269:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "15259:6:136",
                      "nodeType": "YulTypedName",
                      "src": "15259:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15328:16:136",
                    "nodeType": "YulBlock",
                    "src": "15328:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15337:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15337:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15340:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15340:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15330:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15330:6:136"
                          },
                          "nativeSrc": "15330:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15330:12:136"
                        },
                        "nativeSrc": "15330:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15330:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "15300:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "15300:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "15308:18:136",
                        "nodeType": "YulLiteral",
                        "src": "15308:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "15297:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "15297:2:136"
                    },
                    "nativeSrc": "15297:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15297:30:136"
                  },
                  "nativeSrc": "15294:50:136",
                  "nodeType": "YulIf",
                  "src": "15294:50:136"
                },
                {
                  "nativeSrc": "15353:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "15353:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "15367:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "15367:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "15378:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "15378:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "15363:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15363:3:136"
                    },
                    "nativeSrc": "15363:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15363:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "15357:2:136",
                      "nodeType": "YulTypedName",
                      "src": "15357:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "15433:16:136",
                    "nodeType": "YulBlock",
                    "src": "15433:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "15442:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15442:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "15445:1:136",
                              "nodeType": "YulLiteral",
                              "src": "15445:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "15435:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "15435:6:136"
                          },
                          "nativeSrc": "15435:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "15435:12:136"
                        },
                        "nativeSrc": "15435:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "15435:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "15412:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "15412:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "15416:4:136",
                                "nodeType": "YulLiteral",
                                "src": "15416:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "15408:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "15408:3:136"
                            },
                            "nativeSrc": "15408:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "15408:13:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "15423:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "15423:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "15404:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15404:3:136"
                        },
                        "nativeSrc": "15404:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15404:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "15397:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15397:6:136"
                    },
                    "nativeSrc": "15397:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15397:35:136"
                  },
                  "nativeSrc": "15394:55:136",
                  "nodeType": "YulIf",
                  "src": "15394:55:136"
                },
                {
                  "nativeSrc": "15458:88:136",
                  "nodeType": "YulAssignment",
                  "src": "15458:88:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "15518:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "15518:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15522:2:136",
                            "nodeType": "YulLiteral",
                            "src": "15522:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15514:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15514:3:136"
                        },
                        "nativeSrc": "15514:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15514:11:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "15533:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "15533:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "mload",
                          "nativeSrc": "15527:5:136",
                          "nodeType": "YulIdentifier",
                          "src": "15527:5:136"
                        },
                        "nativeSrc": "15527:9:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15527:9:136"
                      },
                      {
                        "name": "dataEnd",
                        "nativeSrc": "15538:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "15538:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_available_length_string_fromMemory",
                      "nativeSrc": "15468:45:136",
                      "nodeType": "YulIdentifier",
                      "src": "15468:45:136"
                    },
                    "nativeSrc": "15468:78:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15468:78:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "15458:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15458:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory",
            "nativeSrc": "15093:459:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "15150:9:136",
                "nodeType": "YulTypedName",
                "src": "15150:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "15161:7:136",
                "nodeType": "YulTypedName",
                "src": "15161:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "15173:6:136",
                "nodeType": "YulTypedName",
                "src": "15173:6:136",
                "type": ""
              }
            ],
            "src": "15093:459:136"
          },
          {
            "body": {
              "nativeSrc": "15797:111:136",
              "nodeType": "YulBlock",
              "src": "15797:111:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "15814:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "15814:3:136"
                      },
                      {
                        "hexValue": "736f6c7665722076616c69646174696f6e206661696c65643a20",
                        "kind": "string",
                        "nativeSrc": "15819:28:136",
                        "nodeType": "YulLiteral",
                        "src": "15819:28:136",
                        "type": "",
                        "value": "solver validation failed: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "15807:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "15807:6:136"
                    },
                    "nativeSrc": "15807:41:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15807:41:136"
                  },
                  "nativeSrc": "15807:41:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "15807:41:136"
                },
                {
                  "nativeSrc": "15857:45:136",
                  "nodeType": "YulAssignment",
                  "src": "15857:45:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "15881:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "15881:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "15893:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "15893:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "15898:2:136",
                            "nodeType": "YulLiteral",
                            "src": "15898:2:136",
                            "type": "",
                            "value": "26"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "15889:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "15889:3:136"
                        },
                        "nativeSrc": "15889:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "15889:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "15864:16:136",
                      "nodeType": "YulIdentifier",
                      "src": "15864:16:136"
                    },
                    "nativeSrc": "15864:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "15864:38:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "15857:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "15857:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_c101a7f8080752dfbefb390bf90513725646733f85cb57f528eb437562da5424_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "15557:351:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "15773:3:136",
                "nodeType": "YulTypedName",
                "src": "15773:3:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "15778:6:136",
                "nodeType": "YulTypedName",
                "src": "15778:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "15789:3:136",
                "nodeType": "YulTypedName",
                "src": "15789:3:136",
                "type": ""
              }
            ],
            "src": "15557:351:136"
          },
          {
            "body": {
              "nativeSrc": "16034:99:136",
              "nodeType": "YulBlock",
              "src": "16034:99:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16051:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16051:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16062:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16062:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16044:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16044:6:136"
                    },
                    "nativeSrc": "16044:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16044:21:136"
                  },
                  "nativeSrc": "16044:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16044:21:136"
                },
                {
                  "nativeSrc": "16074:53:136",
                  "nodeType": "YulAssignment",
                  "src": "16074:53:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "16100:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "16100:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16112:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16112:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16123:2:136",
                            "nodeType": "YulLiteral",
                            "src": "16123:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16108:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16108:3:136"
                        },
                        "nativeSrc": "16108:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16108:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "16082:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "16082:17:136"
                    },
                    "nativeSrc": "16082:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16082:45:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "16074:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "16074:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "15913:220:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16003:9:136",
                "nodeType": "YulTypedName",
                "src": "16003:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16014:6:136",
                "nodeType": "YulTypedName",
                "src": "16014:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16025:4:136",
                "nodeType": "YulTypedName",
                "src": "16025:4:136",
                "type": ""
              }
            ],
            "src": "15913:220:136"
          },
          {
            "body": {
              "nativeSrc": "16237:103:136",
              "nodeType": "YulBlock",
              "src": "16237:103:136",
              "statements": [
                {
                  "nativeSrc": "16247:26:136",
                  "nodeType": "YulAssignment",
                  "src": "16247:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16259:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16259:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16270:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16270:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "16255:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16255:3:136"
                    },
                    "nativeSrc": "16255:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16255:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "16247:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "16247:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16289:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16289:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "16304:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "16304:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "16316:3:136",
                                "nodeType": "YulLiteral",
                                "src": "16316:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "16321:10:136",
                                "nodeType": "YulLiteral",
                                "src": "16321:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "16312:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "16312:3:136"
                            },
                            "nativeSrc": "16312:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "16312:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "16300:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16300:3:136"
                        },
                        "nativeSrc": "16300:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16300:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16282:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16282:6:136"
                    },
                    "nativeSrc": "16282:52:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16282:52:136"
                  },
                  "nativeSrc": "16282:52:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16282:52:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed",
            "nativeSrc": "16138:202:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16206:9:136",
                "nodeType": "YulTypedName",
                "src": "16206:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16217:6:136",
                "nodeType": "YulTypedName",
                "src": "16217:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16228:4:136",
                "nodeType": "YulTypedName",
                "src": "16228:4:136",
                "type": ""
              }
            ],
            "src": "16138:202:136"
          },
          {
            "body": {
              "nativeSrc": "16585:104:136",
              "nodeType": "YulBlock",
              "src": "16585:104:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "16602:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "16602:3:136"
                      },
                      {
                        "hexValue": "736d6f6b652d74657374206661696c65643a20",
                        "kind": "string",
                        "nativeSrc": "16607:21:136",
                        "nodeType": "YulLiteral",
                        "src": "16607:21:136",
                        "type": "",
                        "value": "smoke-test failed: "
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16595:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16595:6:136"
                    },
                    "nativeSrc": "16595:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16595:34:136"
                  },
                  "nativeSrc": "16595:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16595:34:136"
                },
                {
                  "nativeSrc": "16638:45:136",
                  "nodeType": "YulAssignment",
                  "src": "16638:45:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "16662:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "16662:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "16674:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "16674:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16679:2:136",
                            "nodeType": "YulLiteral",
                            "src": "16679:2:136",
                            "type": "",
                            "value": "19"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16670:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16670:3:136"
                        },
                        "nativeSrc": "16670:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16670:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_bytes",
                      "nativeSrc": "16645:16:136",
                      "nodeType": "YulIdentifier",
                      "src": "16645:16:136"
                    },
                    "nativeSrc": "16645:38:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16645:38:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "16638:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "16638:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_stringliteral_7d4ed3f81824e31fe1e562de58eda6343e23b6c2093125ced8f2336f0dde4afb_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "16345:344:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "16561:3:136",
                "nodeType": "YulTypedName",
                "src": "16561:3:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16566:6:136",
                "nodeType": "YulTypedName",
                "src": "16566:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "16577:3:136",
                "nodeType": "YulTypedName",
                "src": "16577:3:136",
                "type": ""
              }
            ],
            "src": "16345:344:136"
          },
          {
            "body": {
              "nativeSrc": "16879:255:136",
              "nodeType": "YulBlock",
              "src": "16879:255:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "16896:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "16896:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "16907:2:136",
                        "nodeType": "YulLiteral",
                        "src": "16907:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16889:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16889:6:136"
                    },
                    "nativeSrc": "16889:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16889:21:136"
                  },
                  "nativeSrc": "16889:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16889:21:136"
                },
                {
                  "nativeSrc": "16919:70:136",
                  "nodeType": "YulAssignment",
                  "src": "16919:70:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "16954:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "16954:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "16962:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "16962:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "16974:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "16974:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "16985:2:136",
                            "nodeType": "YulLiteral",
                            "src": "16985:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "16970:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "16970:3:136"
                        },
                        "nativeSrc": "16970:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "16970:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "16927:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "16927:26:136"
                    },
                    "nativeSrc": "16927:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16927:62:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "16919:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "16919:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17009:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17009:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17020:2:136",
                            "nodeType": "YulLiteral",
                            "src": "17020:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17005:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17005:3:136"
                        },
                        "nativeSrc": "17005:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17005:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "17029:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17029:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "17041:3:136",
                                "nodeType": "YulLiteral",
                                "src": "17041:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17046:10:136",
                                "nodeType": "YulLiteral",
                                "src": "17046:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "17037:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17037:3:136"
                            },
                            "nativeSrc": "17037:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17037:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "17025:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17025:3:136"
                        },
                        "nativeSrc": "17025:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17025:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "16998:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "16998:6:136"
                    },
                    "nativeSrc": "16998:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "16998:61:136"
                  },
                  "nativeSrc": "16998:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "16998:61:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "17079:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17079:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "17090:2:136",
                            "nodeType": "YulLiteral",
                            "src": "17090:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "17075:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17075:3:136"
                        },
                        "nativeSrc": "17075:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17075:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value3",
                            "nativeSrc": "17099:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17099:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "17115:3:136",
                                    "nodeType": "YulLiteral",
                                    "src": "17115:3:136",
                                    "type": "",
                                    "value": "160"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "17120:1:136",
                                    "nodeType": "YulLiteral",
                                    "src": "17120:1:136",
                                    "type": "",
                                    "value": "1"
                                  }
                                ],
                                "functionName": {
                                  "name": "shl",
                                  "nativeSrc": "17111:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "17111:3:136"
                                },
                                "nativeSrc": "17111:11:136",
                                "nodeType": "YulFunctionCall",
                                "src": "17111:11:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17124:1:136",
                                "nodeType": "YulLiteral",
                                "src": "17124:1:136",
                                "type": "",
                                "value": "1"
                              }
                            ],
                            "functionName": {
                              "name": "sub",
                              "nativeSrc": "17107:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17107:3:136"
                            },
                            "nativeSrc": "17107:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17107:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "17095:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17095:3:136"
                        },
                        "nativeSrc": "17095:32:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17095:32:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17068:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17068:6:136"
                    },
                    "nativeSrc": "17068:60:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17068:60:136"
                  },
                  "nativeSrc": "17068:60:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "17068:60:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr_t_bytes4_t_address__to_t_string_memory_ptr_t_bytes4_t_address__fromStack_reversed",
            "nativeSrc": "16694:440:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "16824:9:136",
                "nodeType": "YulTypedName",
                "src": "16824:9:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "16835:6:136",
                "nodeType": "YulTypedName",
                "src": "16835:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "16843:6:136",
                "nodeType": "YulTypedName",
                "src": "16843:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "16851:6:136",
                "nodeType": "YulTypedName",
                "src": "16851:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "16859:6:136",
                "nodeType": "YulTypedName",
                "src": "16859:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "16870:4:136",
                "nodeType": "YulTypedName",
                "src": "16870:4:136",
                "type": ""
              }
            ],
            "src": "16694:440:136"
          },
          {
            "body": {
              "nativeSrc": "17240:76:136",
              "nodeType": "YulBlock",
              "src": "17240:76:136",
              "statements": [
                {
                  "nativeSrc": "17250:26:136",
                  "nodeType": "YulAssignment",
                  "src": "17250:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17262:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17262:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17273:2:136",
                        "nodeType": "YulLiteral",
                        "src": "17273:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "17258:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17258:3:136"
                    },
                    "nativeSrc": "17258:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17258:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "17250:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "17250:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17292:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17292:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "17303:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "17303:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "17285:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17285:6:136"
                    },
                    "nativeSrc": "17285:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17285:25:136"
                  },
                  "nativeSrc": "17285:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "17285:25:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
            "nativeSrc": "17139:177:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17209:9:136",
                "nodeType": "YulTypedName",
                "src": "17209:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "17220:6:136",
                "nodeType": "YulTypedName",
                "src": "17220:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "17231:4:136",
                "nodeType": "YulTypedName",
                "src": "17231:4:136",
                "type": ""
              }
            ],
            "src": "17139:177:136"
          },
          {
            "body": {
              "nativeSrc": "17438:210:136",
              "nodeType": "YulBlock",
              "src": "17438:210:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "17484:16:136",
                    "nodeType": "YulBlock",
                    "src": "17484:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17493:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17493:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17496:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17496:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17486:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17486:6:136"
                          },
                          "nativeSrc": "17486:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17486:12:136"
                        },
                        "nativeSrc": "17486:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17486:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "17459:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "17459:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "17468:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "17468:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "17455:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "17455:3:136"
                        },
                        "nativeSrc": "17455:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17455:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "17480:2:136",
                        "nodeType": "YulLiteral",
                        "src": "17480:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "17451:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17451:3:136"
                    },
                    "nativeSrc": "17451:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17451:32:136"
                  },
                  "nativeSrc": "17448:52:136",
                  "nodeType": "YulIf",
                  "src": "17448:52:136"
                },
                {
                  "nativeSrc": "17509:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "17509:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "17528:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "17528:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "17522:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "17522:5:136"
                    },
                    "nativeSrc": "17522:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17522:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "17513:5:136",
                      "nodeType": "YulTypedName",
                      "src": "17513:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17602:16:136",
                    "nodeType": "YulBlock",
                    "src": "17602:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "17611:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17611:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "17614:1:136",
                              "nodeType": "YulLiteral",
                              "src": "17614:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "17604:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "17604:6:136"
                          },
                          "nativeSrc": "17604:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17604:12:136"
                        },
                        "nativeSrc": "17604:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17604:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "17560:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "17560:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "17571:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "17571:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "17578:20:136",
                                "nodeType": "YulLiteral",
                                "src": "17578:20:136",
                                "type": "",
                                "value": "0xffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "17567:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "17567:3:136"
                            },
                            "nativeSrc": "17567:32:136",
                            "nodeType": "YulFunctionCall",
                            "src": "17567:32:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "17557:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "17557:2:136"
                        },
                        "nativeSrc": "17557:43:136",
                        "nodeType": "YulFunctionCall",
                        "src": "17557:43:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "17550:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17550:6:136"
                    },
                    "nativeSrc": "17550:51:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17550:51:136"
                  },
                  "nativeSrc": "17547:71:136",
                  "nodeType": "YulIf",
                  "src": "17547:71:136"
                },
                {
                  "nativeSrc": "17627:15:136",
                  "nodeType": "YulAssignment",
                  "src": "17627:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "17637:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "17637:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "17627:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "17627:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_userDefinedValueType$_QueryEvmReward_$37147_fromMemory",
            "nativeSrc": "17321:327:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17404:9:136",
                "nodeType": "YulTypedName",
                "src": "17404:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "17415:7:136",
                "nodeType": "YulTypedName",
                "src": "17415:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "17427:6:136",
                "nodeType": "YulTypedName",
                "src": "17427:6:136",
                "type": ""
              }
            ],
            "src": "17321:327:136"
          },
          {
            "body": {
              "nativeSrc": "17702:79:136",
              "nodeType": "YulBlock",
              "src": "17702:79:136",
              "statements": [
                {
                  "nativeSrc": "17712:17:136",
                  "nodeType": "YulAssignment",
                  "src": "17712:17:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "17724:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "17724:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "17727:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "17727:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "sub",
                      "nativeSrc": "17720:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "17720:3:136"
                    },
                    "nativeSrc": "17720:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17720:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "diff",
                      "nativeSrc": "17712:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "17712:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "17753:22:136",
                    "nodeType": "YulBlock",
                    "src": "17753:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "17755:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "17755:16:136"
                          },
                          "nativeSrc": "17755:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "17755:18:136"
                        },
                        "nativeSrc": "17755:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "17755:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "diff",
                        "nativeSrc": "17744:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "17744:4:136"
                      },
                      {
                        "name": "x",
                        "nativeSrc": "17750:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "17750:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "17741:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "17741:2:136"
                    },
                    "nativeSrc": "17741:11:136",
                    "nodeType": "YulFunctionCall",
                    "src": "17741:11:136"
                  },
                  "nativeSrc": "17738:37:136",
                  "nodeType": "YulIf",
                  "src": "17738:37:136"
                }
              ]
            },
            "name": "checked_sub_t_uint256",
            "nativeSrc": "17653:128:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "17684:1:136",
                "nodeType": "YulTypedName",
                "src": "17684:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "17687:1:136",
                "nodeType": "YulTypedName",
                "src": "17687:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "diff",
                "nativeSrc": "17693:4:136",
                "nodeType": "YulTypedName",
                "src": "17693:4:136",
                "type": ""
              }
            ],
            "src": "17653:128:136"
          },
          {
            "body": {
              "nativeSrc": "18000:296:136",
              "nodeType": "YulBlock",
              "src": "18000:296:136",
              "statements": [
                {
                  "nativeSrc": "18010:27:136",
                  "nodeType": "YulAssignment",
                  "src": "18010:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18022:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18022:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18033:3:136",
                        "nodeType": "YulLiteral",
                        "src": "18033:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "18018:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "18018:3:136"
                    },
                    "nativeSrc": "18018:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18018:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18010:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "18010:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18053:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18053:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "18064:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "18064:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18046:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18046:6:136"
                    },
                    "nativeSrc": "18046:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18046:25:136"
                  },
                  "nativeSrc": "18046:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18046:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18091:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18091:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18102:2:136",
                            "nodeType": "YulLiteral",
                            "src": "18102:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18087:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18087:3:136"
                        },
                        "nativeSrc": "18087:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18087:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "value1",
                                "nativeSrc": "18117:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "18117:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "18111:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "18111:5:136"
                            },
                            "nativeSrc": "18111:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "18111:13:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18126:6:136",
                            "nodeType": "YulLiteral",
                            "src": "18126:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18107:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18107:3:136"
                        },
                        "nativeSrc": "18107:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18107:26:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18080:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18080:6:136"
                    },
                    "nativeSrc": "18080:54:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18080:54:136"
                  },
                  "nativeSrc": "18080:54:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18080:54:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18154:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18154:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18165:2:136",
                            "nodeType": "YulLiteral",
                            "src": "18165:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18150:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18150:3:136"
                        },
                        "nativeSrc": "18150:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18150:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value1",
                                    "nativeSrc": "18184:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "18184:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18192:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "18192:2:136",
                                    "type": "",
                                    "value": "32"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "18180:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "18180:3:136"
                                },
                                "nativeSrc": "18180:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "18180:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "18174:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "18174:5:136"
                            },
                            "nativeSrc": "18174:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "18174:22:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18198:6:136",
                            "nodeType": "YulLiteral",
                            "src": "18198:6:136",
                            "type": "",
                            "value": "0xffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18170:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18170:3:136"
                        },
                        "nativeSrc": "18170:35:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18170:35:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18143:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18143:6:136"
                    },
                    "nativeSrc": "18143:63:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18143:63:136"
                  },
                  "nativeSrc": "18143:63:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18143:63:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18226:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18226:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18237:2:136",
                            "nodeType": "YulLiteral",
                            "src": "18237:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18222:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18222:3:136"
                        },
                        "nativeSrc": "18222:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18222:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "name": "value1",
                                    "nativeSrc": "18256:6:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "18256:6:136"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "18264:2:136",
                                    "nodeType": "YulLiteral",
                                    "src": "18264:2:136",
                                    "type": "",
                                    "value": "64"
                                  }
                                ],
                                "functionName": {
                                  "name": "add",
                                  "nativeSrc": "18252:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "18252:3:136"
                                },
                                "nativeSrc": "18252:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "18252:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "18246:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "18246:5:136"
                            },
                            "nativeSrc": "18246:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "18246:22:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18270:18:136",
                            "nodeType": "YulLiteral",
                            "src": "18270:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18242:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18242:3:136"
                        },
                        "nativeSrc": "18242:47:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18242:47:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18215:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18215:6:136"
                    },
                    "nativeSrc": "18215:75:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18215:75:136"
                  },
                  "nativeSrc": "18215:75:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18215:75:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_userDefinedValueType$_RadonHash_$37153_t_struct$_QuerySLA_$37373_memory_ptr__to_t_bytes32_t_struct$_QuerySLA_$37373_memory_ptr__fromStack_reversed",
            "nativeSrc": "17786:510:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "17961:9:136",
                "nodeType": "YulTypedName",
                "src": "17961:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "17972:6:136",
                "nodeType": "YulTypedName",
                "src": "17972:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "17980:6:136",
                "nodeType": "YulTypedName",
                "src": "17980:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "17991:4:136",
                "nodeType": "YulTypedName",
                "src": "17991:4:136",
                "type": ""
              }
            ],
            "src": "17786:510:136"
          },
          {
            "body": {
              "nativeSrc": "18382:149:136",
              "nodeType": "YulBlock",
              "src": "18382:149:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "18428:16:136",
                    "nodeType": "YulBlock",
                    "src": "18428:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "18437:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18437:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "18440:1:136",
                              "nodeType": "YulLiteral",
                              "src": "18440:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "18430:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "18430:6:136"
                          },
                          "nativeSrc": "18430:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "18430:12:136"
                        },
                        "nativeSrc": "18430:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "18430:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "18403:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "18403:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "18412:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18412:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "18399:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18399:3:136"
                        },
                        "nativeSrc": "18399:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18399:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18424:2:136",
                        "nodeType": "YulLiteral",
                        "src": "18424:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "18395:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "18395:3:136"
                    },
                    "nativeSrc": "18395:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18395:32:136"
                  },
                  "nativeSrc": "18392:52:136",
                  "nodeType": "YulIf",
                  "src": "18392:52:136"
                },
                {
                  "nativeSrc": "18453:14:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "18453:14:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "18466:1:136",
                    "nodeType": "YulLiteral",
                    "src": "18466:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "18457:5:136",
                      "nodeType": "YulTypedName",
                      "src": "18457:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "18476:25:136",
                  "nodeType": "YulAssignment",
                  "src": "18476:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18491:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18491:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "18485:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "18485:5:136"
                    },
                    "nativeSrc": "18485:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18485:16:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "18476:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "18476:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "18510:15:136",
                  "nodeType": "YulAssignment",
                  "src": "18510:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "18520:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "18520:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "18510:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18510:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_uint256_fromMemory",
            "nativeSrc": "18301:230:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18348:9:136",
                "nodeType": "YulTypedName",
                "src": "18348:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "18359:7:136",
                "nodeType": "YulTypedName",
                "src": "18359:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "18371:6:136",
                "nodeType": "YulTypedName",
                "src": "18371:6:136",
                "type": ""
              }
            ],
            "src": "18301:230:136"
          },
          {
            "body": {
              "nativeSrc": "18721:229:136",
              "nodeType": "YulBlock",
              "src": "18721:229:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "18738:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "18738:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "18749:2:136",
                        "nodeType": "YulLiteral",
                        "src": "18749:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18731:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18731:6:136"
                    },
                    "nativeSrc": "18731:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18731:21:136"
                  },
                  "nativeSrc": "18731:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18731:21:136"
                },
                {
                  "nativeSrc": "18761:70:136",
                  "nodeType": "YulAssignment",
                  "src": "18761:70:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "18796:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "18796:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "18804:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "18804:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18816:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18816:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18827:2:136",
                            "nodeType": "YulLiteral",
                            "src": "18827:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18812:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18812:3:136"
                        },
                        "nativeSrc": "18812:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18812:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "18769:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "18769:26:136"
                    },
                    "nativeSrc": "18769:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18769:62:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "18761:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "18761:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18851:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18851:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18862:2:136",
                            "nodeType": "YulLiteral",
                            "src": "18862:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18847:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18847:3:136"
                        },
                        "nativeSrc": "18847:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18847:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "18871:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "18871:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "18883:3:136",
                                "nodeType": "YulLiteral",
                                "src": "18883:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "18888:10:136",
                                "nodeType": "YulLiteral",
                                "src": "18888:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "18879:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "18879:3:136"
                            },
                            "nativeSrc": "18879:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "18879:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "18867:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18867:3:136"
                        },
                        "nativeSrc": "18867:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18867:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18840:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18840:6:136"
                    },
                    "nativeSrc": "18840:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18840:61:136"
                  },
                  "nativeSrc": "18840:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18840:61:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "18921:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "18921:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "18932:2:136",
                            "nodeType": "YulLiteral",
                            "src": "18932:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "18917:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "18917:3:136"
                        },
                        "nativeSrc": "18917:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "18917:18:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "18937:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "18937:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "18910:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "18910:6:136"
                    },
                    "nativeSrc": "18910:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "18910:34:136"
                  },
                  "nativeSrc": "18910:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "18910:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr_t_bytes4_t_bytes32__to_t_string_memory_ptr_t_bytes4_t_bytes32__fromStack_reversed",
            "nativeSrc": "18536:414:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "18666:9:136",
                "nodeType": "YulTypedName",
                "src": "18666:9:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "18677:6:136",
                "nodeType": "YulTypedName",
                "src": "18677:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "18685:6:136",
                "nodeType": "YulTypedName",
                "src": "18685:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "18693:6:136",
                "nodeType": "YulTypedName",
                "src": "18693:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "18701:6:136",
                "nodeType": "YulTypedName",
                "src": "18701:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "18712:4:136",
                "nodeType": "YulTypedName",
                "src": "18712:4:136",
                "type": ""
              }
            ],
            "src": "18536:414:136"
          },
          {
            "body": {
              "nativeSrc": "19025:89:136",
              "nodeType": "YulBlock",
              "src": "19025:89:136",
              "statements": [
                {
                  "nativeSrc": "19035:22:136",
                  "nodeType": "YulAssignment",
                  "src": "19035:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "19050:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19050:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19044:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19044:5:136"
                    },
                    "nativeSrc": "19044:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19044:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "19035:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19035:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19092:16:136",
                    "nodeType": "YulBlock",
                    "src": "19092:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19101:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19101:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19104:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19104:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19094:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19094:6:136"
                          },
                          "nativeSrc": "19094:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19094:12:136"
                        },
                        "nativeSrc": "19094:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19094:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "19079:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "19079:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "19086:3:136",
                            "nodeType": "YulLiteral",
                            "src": "19086:3:136",
                            "type": "",
                            "value": "256"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "19076:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "19076:2:136"
                        },
                        "nativeSrc": "19076:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19076:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "19069:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19069:6:136"
                    },
                    "nativeSrc": "19069:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19069:22:136"
                  },
                  "nativeSrc": "19066:42:136",
                  "nodeType": "YulIf",
                  "src": "19066:42:136"
                }
              ]
            },
            "name": "abi_decode_enum_ResultStatus_fromMemory",
            "nativeSrc": "18955:159:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "19004:6:136",
                "nodeType": "YulTypedName",
                "src": "19004:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "19015:5:136",
                "nodeType": "YulTypedName",
                "src": "19015:5:136",
                "type": ""
              }
            ],
            "src": "18955:159:136"
          },
          {
            "body": {
              "nativeSrc": "19202:77:136",
              "nodeType": "YulBlock",
              "src": "19202:77:136",
              "statements": [
                {
                  "nativeSrc": "19212:22:136",
                  "nodeType": "YulAssignment",
                  "src": "19212:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "19227:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19227:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19221:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19221:5:136"
                    },
                    "nativeSrc": "19221:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19221:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "19212:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19212:5:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "19267:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "19267:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "19243:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "19243:23:136"
                    },
                    "nativeSrc": "19243:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19243:30:136"
                  },
                  "nativeSrc": "19243:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "19243:30:136"
                }
              ]
            },
            "name": "abi_decode_userDefinedValueType_Timestamp_fromMemory",
            "nativeSrc": "19119:160:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "19181:6:136",
                "nodeType": "YulTypedName",
                "src": "19181:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "19192:5:136",
                "nodeType": "YulTypedName",
                "src": "19192:5:136",
                "type": ""
              }
            ],
            "src": "19119:160:136"
          },
          {
            "body": {
              "nativeSrc": "19342:102:136",
              "nodeType": "YulBlock",
              "src": "19342:102:136",
              "statements": [
                {
                  "nativeSrc": "19352:22:136",
                  "nodeType": "YulAssignment",
                  "src": "19352:22:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "19367:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19367:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19361:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19361:5:136"
                    },
                    "nativeSrc": "19361:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19361:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "19352:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19352:5:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19422:16:136",
                    "nodeType": "YulBlock",
                    "src": "19422:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19431:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19431:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19434:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19434:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19424:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19424:6:136"
                          },
                          "nativeSrc": "19424:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19424:12:136"
                        },
                        "nativeSrc": "19424:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19424:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "19396:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "19396:5:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "value",
                                "nativeSrc": "19407:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "19407:5:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "19414:4:136",
                                "nodeType": "YulLiteral",
                                "src": "19414:4:136",
                                "type": "",
                                "value": "0xff"
                              }
                            ],
                            "functionName": {
                              "name": "and",
                              "nativeSrc": "19403:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "19403:3:136"
                            },
                            "nativeSrc": "19403:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "19403:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "eq",
                          "nativeSrc": "19393:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "19393:2:136"
                        },
                        "nativeSrc": "19393:27:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19393:27:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "19386:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19386:6:136"
                    },
                    "nativeSrc": "19386:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19386:35:136"
                  },
                  "nativeSrc": "19383:55:136",
                  "nodeType": "YulIf",
                  "src": "19383:55:136"
                }
              ]
            },
            "name": "abi_decode_uint8_fromMemory",
            "nativeSrc": "19284:160:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "offset",
                "nativeSrc": "19321:6:136",
                "nodeType": "YulTypedName",
                "src": "19321:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "19332:5:136",
                "nodeType": "YulTypedName",
                "src": "19332:5:136",
                "type": ""
              }
            ],
            "src": "19284:160:136"
          },
          {
            "body": {
              "nativeSrc": "19521:1233:136",
              "nodeType": "YulBlock",
              "src": "19521:1233:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "19565:16:136",
                    "nodeType": "YulBlock",
                    "src": "19565:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19574:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19574:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19577:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19577:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19567:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19567:6:136"
                          },
                          "nativeSrc": "19567:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19567:12:136"
                        },
                        "nativeSrc": "19567:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19567:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "19542:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "19542:3:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "19547:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "19547:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "19538:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19538:3:136"
                        },
                        "nativeSrc": "19538:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19538:19:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19559:4:136",
                        "nodeType": "YulLiteral",
                        "src": "19559:4:136",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "19534:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19534:3:136"
                    },
                    "nativeSrc": "19534:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19534:30:136"
                  },
                  "nativeSrc": "19531:50:136",
                  "nodeType": "YulIf",
                  "src": "19531:50:136"
                },
                {
                  "nativeSrc": "19590:26:136",
                  "nodeType": "YulAssignment",
                  "src": "19590:26:136",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "19599:15:136",
                      "nodeType": "YulIdentifier",
                      "src": "19599:15:136"
                    },
                    "nativeSrc": "19599:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19599:17:136"
                  },
                  "variableNames": [
                    {
                      "name": "value",
                      "nativeSrc": "19590:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19590:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "19625:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19625:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19645:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19645:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19639:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19639:5:136"
                    },
                    "nativeSrc": "19639:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19639:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "19629:6:136",
                      "nodeType": "YulTypedName",
                      "src": "19629:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19698:16:136",
                    "nodeType": "YulBlock",
                    "src": "19698:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19707:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19707:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19710:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19710:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19700:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19700:6:136"
                          },
                          "nativeSrc": "19700:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19700:12:136"
                        },
                        "nativeSrc": "19700:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19700:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "19670:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19670:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19678:18:136",
                        "nodeType": "YulLiteral",
                        "src": "19678:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "19667:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "19667:2:136"
                    },
                    "nativeSrc": "19667:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19667:30:136"
                  },
                  "nativeSrc": "19664:50:136",
                  "nodeType": "YulIf",
                  "src": "19664:50:136"
                },
                {
                  "nativeSrc": "19723:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19723:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "19737:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "19737:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "19748:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "19748:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19733:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19733:3:136"
                    },
                    "nativeSrc": "19733:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19733:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "19727:2:136",
                      "nodeType": "YulTypedName",
                      "src": "19727:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19791:16:136",
                    "nodeType": "YulBlock",
                    "src": "19791:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19800:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19800:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19803:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19803:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19793:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19793:6:136"
                          },
                          "nativeSrc": "19793:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19793:12:136"
                        },
                        "nativeSrc": "19793:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19793:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "end",
                            "nativeSrc": "19775:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "19775:3:136"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "19780:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "19780:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "19771:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "19771:3:136"
                        },
                        "nativeSrc": "19771:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "19771:12:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19785:4:136",
                        "nodeType": "YulLiteral",
                        "src": "19785:4:136",
                        "type": "",
                        "value": "0x40"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "19767:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19767:3:136"
                    },
                    "nativeSrc": "19767:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19767:23:136"
                  },
                  "nativeSrc": "19764:43:136",
                  "nodeType": "YulIf",
                  "src": "19764:43:136"
                },
                {
                  "nativeSrc": "19816:37:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19816:37:136",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory_3780",
                      "nativeSrc": "19831:20:136",
                      "nodeType": "YulIdentifier",
                      "src": "19831:20:136"
                    },
                    "nativeSrc": "19831:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19831:22:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "19820:7:136",
                      "nodeType": "YulTypedName",
                      "src": "19820:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "19862:25:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19862:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "19884:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "19884:2:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "19878:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "19878:5:136"
                    },
                    "nativeSrc": "19878:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19878:9:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "19866:8:136",
                      "nodeType": "YulTypedName",
                      "src": "19866:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "19932:16:136",
                    "nodeType": "YulBlock",
                    "src": "19932:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "19941:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19941:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "19944:1:136",
                              "nodeType": "YulLiteral",
                              "src": "19944:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "19934:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "19934:6:136"
                          },
                          "nativeSrc": "19934:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "19934:12:136"
                        },
                        "nativeSrc": "19934:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "19934:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "19902:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "19902:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "19912:18:136",
                        "nodeType": "YulLiteral",
                        "src": "19912:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "19899:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "19899:2:136"
                    },
                    "nativeSrc": "19899:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19899:32:136"
                  },
                  "nativeSrc": "19896:52:136",
                  "nodeType": "YulIf",
                  "src": "19896:52:136"
                },
                {
                  "nativeSrc": "19957:27:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "19957:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "19971:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "19971:2:136"
                      },
                      {
                        "name": "offset_1",
                        "nativeSrc": "19975:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "19975:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "19967:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "19967:3:136"
                    },
                    "nativeSrc": "19967:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19967:17:136"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "19961:2:136",
                      "nodeType": "YulTypedName",
                      "src": "19961:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "20028:16:136",
                    "nodeType": "YulBlock",
                    "src": "20028:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20037:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20037:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20040:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20040:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20030:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "20030:6:136"
                          },
                          "nativeSrc": "20030:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "20030:12:136"
                        },
                        "nativeSrc": "20030:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "20030:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "20011:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "20011:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "20015:4:136",
                                "nodeType": "YulLiteral",
                                "src": "20015:4:136",
                                "type": "",
                                "value": "0x1f"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20007:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "20007:3:136"
                            },
                            "nativeSrc": "20007:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "20007:13:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "20022:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "20022:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "slt",
                          "nativeSrc": "20003:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20003:3:136"
                        },
                        "nativeSrc": "20003:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20003:23:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "19996:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "19996:6:136"
                    },
                    "nativeSrc": "19996:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "19996:31:136"
                  },
                  "nativeSrc": "19993:51:136",
                  "nodeType": "YulIf",
                  "src": "19993:51:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "20060:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "20060:7:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "20119:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "20119:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "20123:4:136",
                                "nodeType": "YulLiteral",
                                "src": "20123:4:136",
                                "type": "",
                                "value": "0x20"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20115:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "20115:3:136"
                            },
                            "nativeSrc": "20115:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "20115:13:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "_2",
                                "nativeSrc": "20136:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "20136:2:136"
                              }
                            ],
                            "functionName": {
                              "name": "mload",
                              "nativeSrc": "20130:5:136",
                              "nodeType": "YulIdentifier",
                              "src": "20130:5:136"
                            },
                            "nativeSrc": "20130:9:136",
                            "nodeType": "YulFunctionCall",
                            "src": "20130:9:136"
                          },
                          {
                            "name": "end",
                            "nativeSrc": "20141:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "20141:3:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_available_length_string_fromMemory",
                          "nativeSrc": "20069:45:136",
                          "nodeType": "YulIdentifier",
                          "src": "20069:45:136"
                        },
                        "nativeSrc": "20069:76:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20069:76:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20053:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20053:6:136"
                    },
                    "nativeSrc": "20053:93:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20053:93:136"
                  },
                  "nativeSrc": "20053:93:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20053:93:136"
                },
                {
                  "nativeSrc": "20155:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20155:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "20170:1:136",
                    "nodeType": "YulLiteral",
                    "src": "20170:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "20159:7:136",
                      "nodeType": "YulTypedName",
                      "src": "20159:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "20180:31:136",
                  "nodeType": "YulAssignment",
                  "src": "20180:31:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "20201:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "20201:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20205:4:136",
                            "nodeType": "YulLiteral",
                            "src": "20205:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20197:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20197:3:136"
                        },
                        "nativeSrc": "20197:13:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20197:13:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "20191:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "20191:5:136"
                    },
                    "nativeSrc": "20191:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20191:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_2",
                      "nativeSrc": "20180:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "20180:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "20231:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "20231:7:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20240:4:136",
                            "nodeType": "YulLiteral",
                            "src": "20240:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20227:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20227:3:136"
                        },
                        "nativeSrc": "20227:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20227:18:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "20247:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "20247:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20220:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20220:6:136"
                    },
                    "nativeSrc": "20220:35:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20220:35:136"
                  },
                  "nativeSrc": "20220:35:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20220:35:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "20271:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "20271:5:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "20278:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "20278:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20264:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20264:6:136"
                    },
                    "nativeSrc": "20264:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20264:22:136"
                  },
                  "nativeSrc": "20264:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20264:22:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "20306:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "20306:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20313:4:136",
                            "nodeType": "YulLiteral",
                            "src": "20313:4:136",
                            "type": "",
                            "value": "0x20"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20302:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20302:3:136"
                        },
                        "nativeSrc": "20302:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20302:16:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "20352:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "20352:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "20363:4:136",
                                "nodeType": "YulLiteral",
                                "src": "20363:4:136",
                                "type": "",
                                "value": "0x20"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20348:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "20348:3:136"
                            },
                            "nativeSrc": "20348:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "20348:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8_fromMemory",
                          "nativeSrc": "20320:27:136",
                          "nodeType": "YulIdentifier",
                          "src": "20320:27:136"
                        },
                        "nativeSrc": "20320:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20320:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20295:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20295:6:136"
                    },
                    "nativeSrc": "20295:75:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20295:75:136"
                  },
                  "nativeSrc": "20295:75:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20295:75:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "20390:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "20390:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20397:4:136",
                            "nodeType": "YulLiteral",
                            "src": "20397:4:136",
                            "type": "",
                            "value": "0x40"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20386:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20386:3:136"
                        },
                        "nativeSrc": "20386:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20386:16:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "20436:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "20436:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "20447:4:136",
                                "nodeType": "YulLiteral",
                                "src": "20447:4:136",
                                "type": "",
                                "value": "0x40"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20432:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "20432:3:136"
                            },
                            "nativeSrc": "20432:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "20432:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8_fromMemory",
                          "nativeSrc": "20404:27:136",
                          "nodeType": "YulIdentifier",
                          "src": "20404:27:136"
                        },
                        "nativeSrc": "20404:49:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20404:49:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20379:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20379:6:136"
                    },
                    "nativeSrc": "20379:75:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20379:75:136"
                  },
                  "nativeSrc": "20379:75:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20379:75:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "20474:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "20474:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20481:2:136",
                            "nodeType": "YulLiteral",
                            "src": "20481:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20470:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20470:3:136"
                        },
                        "nativeSrc": "20470:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20470:14:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "20518:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "20518:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "20529:2:136",
                                "nodeType": "YulLiteral",
                                "src": "20529:2:136",
                                "type": "",
                                "value": "96"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20514:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "20514:3:136"
                            },
                            "nativeSrc": "20514:18:136",
                            "nodeType": "YulFunctionCall",
                            "src": "20514:18:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_uint8_fromMemory",
                          "nativeSrc": "20486:27:136",
                          "nodeType": "YulIdentifier",
                          "src": "20486:27:136"
                        },
                        "nativeSrc": "20486:47:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20486:47:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20463:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20463:6:136"
                    },
                    "nativeSrc": "20463:71:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20463:71:136"
                  },
                  "nativeSrc": "20463:71:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20463:71:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "20554:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "20554:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20561:3:136",
                            "nodeType": "YulLiteral",
                            "src": "20561:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20550:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20550:3:136"
                        },
                        "nativeSrc": "20550:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20550:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "20624:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "20624:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "20635:3:136",
                                "nodeType": "YulLiteral",
                                "src": "20635:3:136",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20620:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "20620:3:136"
                            },
                            "nativeSrc": "20620:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "20620:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_userDefinedValueType_Timestamp_fromMemory",
                          "nativeSrc": "20567:52:136",
                          "nodeType": "YulIdentifier",
                          "src": "20567:52:136"
                        },
                        "nativeSrc": "20567:73:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20567:73:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20543:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20543:6:136"
                    },
                    "nativeSrc": "20543:98:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20543:98:136"
                  },
                  "nativeSrc": "20543:98:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20543:98:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "20661:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "20661:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "20668:3:136",
                            "nodeType": "YulLiteral",
                            "src": "20668:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "20657:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20657:3:136"
                        },
                        "nativeSrc": "20657:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20657:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "headStart",
                                "nativeSrc": "20731:9:136",
                                "nodeType": "YulIdentifier",
                                "src": "20731:9:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "20742:3:136",
                                "nodeType": "YulLiteral",
                                "src": "20742:3:136",
                                "type": "",
                                "value": "160"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "20727:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "20727:3:136"
                            },
                            "nativeSrc": "20727:19:136",
                            "nodeType": "YulFunctionCall",
                            "src": "20727:19:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_userDefinedValueType_Timestamp_fromMemory",
                          "nativeSrc": "20674:52:136",
                          "nodeType": "YulIdentifier",
                          "src": "20674:52:136"
                        },
                        "nativeSrc": "20674:73:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20674:73:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "20650:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "20650:6:136"
                    },
                    "nativeSrc": "20650:98:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20650:98:136"
                  },
                  "nativeSrc": "20650:98:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "20650:98:136"
                }
              ]
            },
            "name": "abi_decode_struct_CBOR_fromMemory",
            "nativeSrc": "19449:1305:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "19492:9:136",
                "nodeType": "YulTypedName",
                "src": "19492:9:136",
                "type": ""
              },
              {
                "name": "end",
                "nativeSrc": "19503:3:136",
                "nodeType": "YulTypedName",
                "src": "19503:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value",
                "nativeSrc": "19511:5:136",
                "nodeType": "YulTypedName",
                "src": "19511:5:136",
                "type": ""
              }
            ],
            "src": "19449:1305:136"
          },
          {
            "body": {
              "nativeSrc": "20869:1033:136",
              "nodeType": "YulBlock",
              "src": "20869:1033:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "20915:16:136",
                    "nodeType": "YulBlock",
                    "src": "20915:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "20924:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20924:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "20927:1:136",
                              "nodeType": "YulLiteral",
                              "src": "20927:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "20917:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "20917:6:136"
                          },
                          "nativeSrc": "20917:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "20917:12:136"
                        },
                        "nativeSrc": "20917:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "20917:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "20890:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "20890:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "20899:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "20899:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "20886:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "20886:3:136"
                        },
                        "nativeSrc": "20886:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "20886:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20911:2:136",
                        "nodeType": "YulLiteral",
                        "src": "20911:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "20882:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "20882:3:136"
                    },
                    "nativeSrc": "20882:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20882:32:136"
                  },
                  "nativeSrc": "20879:52:136",
                  "nodeType": "YulIf",
                  "src": "20879:52:136"
                },
                {
                  "nativeSrc": "20940:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "20940:30:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "20960:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "20960:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "20954:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "20954:5:136"
                    },
                    "nativeSrc": "20954:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20954:16:136"
                  },
                  "variables": [
                    {
                      "name": "offset",
                      "nativeSrc": "20944:6:136",
                      "nodeType": "YulTypedName",
                      "src": "20944:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21013:16:136",
                    "nodeType": "YulBlock",
                    "src": "21013:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21022:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21022:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21025:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21025:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21015:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21015:6:136"
                          },
                          "nativeSrc": "21015:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21015:12:136"
                        },
                        "nativeSrc": "21015:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "21015:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset",
                        "nativeSrc": "20985:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "20985:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "20993:18:136",
                        "nodeType": "YulLiteral",
                        "src": "20993:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "20982:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "20982:2:136"
                    },
                    "nativeSrc": "20982:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "20982:30:136"
                  },
                  "nativeSrc": "20979:50:136",
                  "nodeType": "YulIf",
                  "src": "20979:50:136"
                },
                {
                  "nativeSrc": "21038:32:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21038:32:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "21052:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "21052:9:136"
                      },
                      {
                        "name": "offset",
                        "nativeSrc": "21063:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "21063:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "21048:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21048:3:136"
                    },
                    "nativeSrc": "21048:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21048:22:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "21042:2:136",
                      "nodeType": "YulTypedName",
                      "src": "21042:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21110:16:136",
                    "nodeType": "YulBlock",
                    "src": "21110:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21119:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21119:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21122:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21122:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21112:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21112:6:136"
                          },
                          "nativeSrc": "21112:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21112:12:136"
                        },
                        "nativeSrc": "21112:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "21112:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "21090:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "21090:7:136"
                          },
                          {
                            "name": "_1",
                            "nativeSrc": "21099:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "21099:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "21086:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21086:3:136"
                        },
                        "nativeSrc": "21086:16:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21086:16:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21104:4:136",
                        "nodeType": "YulLiteral",
                        "src": "21104:4:136",
                        "type": "",
                        "value": "0xc0"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "21082:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "21082:3:136"
                    },
                    "nativeSrc": "21082:27:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21082:27:136"
                  },
                  "nativeSrc": "21079:47:136",
                  "nodeType": "YulIf",
                  "src": "21079:47:136"
                },
                {
                  "nativeSrc": "21135:30:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21135:30:136",
                  "value": {
                    "arguments": [],
                    "functionName": {
                      "name": "allocate_memory",
                      "nativeSrc": "21148:15:136",
                      "nodeType": "YulIdentifier",
                      "src": "21148:15:136"
                    },
                    "nativeSrc": "21148:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21148:17:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "21139:5:136",
                      "nodeType": "YulTypedName",
                      "src": "21139:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "21181:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "21181:5:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "21228:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "21228:2:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_enum_ResultStatus_fromMemory",
                          "nativeSrc": "21188:39:136",
                          "nodeType": "YulIdentifier",
                          "src": "21188:39:136"
                        },
                        "nativeSrc": "21188:43:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21188:43:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21174:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21174:6:136"
                    },
                    "nativeSrc": "21174:58:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21174:58:136"
                  },
                  "nativeSrc": "21174:58:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21174:58:136"
                },
                {
                  "nativeSrc": "21241:33:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21241:33:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "21266:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "21266:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21270:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21270:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21262:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21262:3:136"
                        },
                        "nativeSrc": "21262:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21262:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21256:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "21256:5:136"
                    },
                    "nativeSrc": "21256:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21256:18:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "21245:7:136",
                      "nodeType": "YulTypedName",
                      "src": "21245:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21310:16:136",
                    "nodeType": "YulBlock",
                    "src": "21310:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21319:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21319:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21322:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21322:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21312:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21312:6:136"
                          },
                          "nativeSrc": "21312:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21312:12:136"
                        },
                        "nativeSrc": "21312:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "21312:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_1",
                            "nativeSrc": "21296:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "21296:7:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21305:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21305:2:136",
                            "type": "",
                            "value": "20"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "21293:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "21293:2:136"
                        },
                        "nativeSrc": "21293:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21293:15:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "21286:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21286:6:136"
                    },
                    "nativeSrc": "21286:23:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21286:23:136"
                  },
                  "nativeSrc": "21283:43:136",
                  "nodeType": "YulIf",
                  "src": "21283:43:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "21346:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "21346:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21353:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21353:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21342:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21342:3:136"
                        },
                        "nativeSrc": "21342:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21342:14:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "21358:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "21358:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21335:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21335:6:136"
                    },
                    "nativeSrc": "21335:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21335:31:136"
                  },
                  "nativeSrc": "21335:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21335:31:136"
                },
                {
                  "nativeSrc": "21375:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21375:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "21390:1:136",
                    "nodeType": "YulLiteral",
                    "src": "21390:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "21379:7:136",
                      "nodeType": "YulTypedName",
                      "src": "21379:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21400:29:136",
                  "nodeType": "YulAssignment",
                  "src": "21400:29:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "21421:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "21421:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21425:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21425:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21417:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21417:3:136"
                        },
                        "nativeSrc": "21417:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21417:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21411:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "21411:5:136"
                    },
                    "nativeSrc": "21411:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21411:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_2",
                      "nativeSrc": "21400:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "21400:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "21449:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "21449:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21456:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21456:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21445:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21445:3:136"
                        },
                        "nativeSrc": "21445:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21445:14:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "21461:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "21461:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21438:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21438:6:136"
                    },
                    "nativeSrc": "21438:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21438:31:136"
                  },
                  "nativeSrc": "21438:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21438:31:136"
                },
                {
                  "nativeSrc": "21478:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21478:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "21493:1:136",
                    "nodeType": "YulLiteral",
                    "src": "21493:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "21482:7:136",
                      "nodeType": "YulTypedName",
                      "src": "21482:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "21503:29:136",
                  "nodeType": "YulAssignment",
                  "src": "21503:29:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "21524:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "21524:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21528:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21528:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21520:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21520:3:136"
                        },
                        "nativeSrc": "21520:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21520:11:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21514:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "21514:5:136"
                    },
                    "nativeSrc": "21514:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21514:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_3",
                      "nativeSrc": "21503:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "21503:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "21552:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "21552:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21559:2:136",
                            "nodeType": "YulLiteral",
                            "src": "21559:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21548:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21548:3:136"
                        },
                        "nativeSrc": "21548:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21548:14:136"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "21564:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "21564:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21541:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21541:6:136"
                    },
                    "nativeSrc": "21541:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21541:31:136"
                  },
                  "nativeSrc": "21541:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21541:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "21592:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "21592:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21599:3:136",
                            "nodeType": "YulLiteral",
                            "src": "21599:3:136",
                            "type": "",
                            "value": "128"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21588:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21588:3:136"
                        },
                        "nativeSrc": "21588:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21588:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "21662:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "21662:2:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "21666:3:136",
                                "nodeType": "YulLiteral",
                                "src": "21666:3:136",
                                "type": "",
                                "value": "128"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21658:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "21658:3:136"
                            },
                            "nativeSrc": "21658:12:136",
                            "nodeType": "YulFunctionCall",
                            "src": "21658:12:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_userDefinedValueType_Timestamp_fromMemory",
                          "nativeSrc": "21605:52:136",
                          "nodeType": "YulIdentifier",
                          "src": "21605:52:136"
                        },
                        "nativeSrc": "21605:66:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21605:66:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21581:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21581:6:136"
                    },
                    "nativeSrc": "21581:91:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21581:91:136"
                  },
                  "nativeSrc": "21581:91:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21581:91:136"
                },
                {
                  "nativeSrc": "21681:35:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "21681:35:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "_1",
                            "nativeSrc": "21707:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "21707:2:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21711:3:136",
                            "nodeType": "YulLiteral",
                            "src": "21711:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21703:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21703:3:136"
                        },
                        "nativeSrc": "21703:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21703:12:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "21697:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "21697:5:136"
                    },
                    "nativeSrc": "21697:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21697:19:136"
                  },
                  "variables": [
                    {
                      "name": "offset_1",
                      "nativeSrc": "21685:8:136",
                      "nodeType": "YulTypedName",
                      "src": "21685:8:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "21761:16:136",
                    "nodeType": "YulBlock",
                    "src": "21761:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "21770:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21770:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "21773:1:136",
                              "nodeType": "YulLiteral",
                              "src": "21773:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "21763:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "21763:6:136"
                          },
                          "nativeSrc": "21763:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "21763:12:136"
                        },
                        "nativeSrc": "21763:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "21763:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "offset_1",
                        "nativeSrc": "21731:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "21731:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "21741:18:136",
                        "nodeType": "YulLiteral",
                        "src": "21741:18:136",
                        "type": "",
                        "value": "0xffffffffffffffff"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "21728:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "21728:2:136"
                    },
                    "nativeSrc": "21728:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21728:32:136"
                  },
                  "nativeSrc": "21725:52:136",
                  "nodeType": "YulIf",
                  "src": "21725:52:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value",
                            "nativeSrc": "21797:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "21797:5:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "21804:3:136",
                            "nodeType": "YulLiteral",
                            "src": "21804:3:136",
                            "type": "",
                            "value": "160"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "21793:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "21793:3:136"
                        },
                        "nativeSrc": "21793:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21793:15:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "_1",
                                "nativeSrc": "21848:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "21848:2:136"
                              },
                              {
                                "name": "offset_1",
                                "nativeSrc": "21852:8:136",
                                "nodeType": "YulIdentifier",
                                "src": "21852:8:136"
                              }
                            ],
                            "functionName": {
                              "name": "add",
                              "nativeSrc": "21844:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "21844:3:136"
                            },
                            "nativeSrc": "21844:17:136",
                            "nodeType": "YulFunctionCall",
                            "src": "21844:17:136"
                          },
                          {
                            "name": "dataEnd",
                            "nativeSrc": "21863:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "21863:7:136"
                          }
                        ],
                        "functionName": {
                          "name": "abi_decode_struct_CBOR_fromMemory",
                          "nativeSrc": "21810:33:136",
                          "nodeType": "YulIdentifier",
                          "src": "21810:33:136"
                        },
                        "nativeSrc": "21810:61:136",
                        "nodeType": "YulFunctionCall",
                        "src": "21810:61:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "21786:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21786:6:136"
                    },
                    "nativeSrc": "21786:86:136",
                    "nodeType": "YulFunctionCall",
                    "src": "21786:86:136"
                  },
                  "nativeSrc": "21786:86:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "21786:86:136"
                },
                {
                  "nativeSrc": "21881:15:136",
                  "nodeType": "YulAssignment",
                  "src": "21881:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "21891:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "21891:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "21881:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "21881:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_DataResult_$37293_memory_ptr_fromMemory",
            "nativeSrc": "20759:1143:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "20835:9:136",
                "nodeType": "YulTypedName",
                "src": "20835:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "20846:7:136",
                "nodeType": "YulTypedName",
                "src": "20846:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "20858:6:136",
                "nodeType": "YulTypedName",
                "src": "20858:6:136",
                "type": ""
              }
            ],
            "src": "20759:1143:136"
          },
          {
            "body": {
              "nativeSrc": "22012:844:136",
              "nodeType": "YulBlock",
              "src": "22012:844:136",
              "statements": [
                {
                  "nativeSrc": "22022:43:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22022:43:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "22040:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "22040:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "22049:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22049:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "22036:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22036:3:136"
                        },
                        "nativeSrc": "22036:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22036:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22061:3:136",
                        "nodeType": "YulLiteral",
                        "src": "22061:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "22032:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "22032:3:136"
                    },
                    "nativeSrc": "22032:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22032:33:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "22026:2:136",
                      "nodeType": "YulTypedName",
                      "src": "22026:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22080:16:136",
                    "nodeType": "YulBlock",
                    "src": "22080:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22089:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22089:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22092:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22092:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22082:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22082:6:136"
                          },
                          "nativeSrc": "22082:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22082:12:136"
                        },
                        "nativeSrc": "22082:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22082:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "name": "_1",
                    "nativeSrc": "22077:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "22077:2:136"
                  },
                  "nativeSrc": "22074:22:136",
                  "nodeType": "YulIf",
                  "src": "22074:22:136"
                },
                {
                  "nativeSrc": "22105:7:136",
                  "nodeType": "YulAssignment",
                  "src": "22105:7:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "22111:1:136",
                    "nodeType": "YulLiteral",
                    "src": "22111:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variableNames": [
                    {
                      "name": "_1",
                      "nativeSrc": "22105:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "22105:2:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "22121:15:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22121:15:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "22135:1:136",
                    "nodeType": "YulLiteral",
                    "src": "22135:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "22125:6:136",
                      "nodeType": "YulTypedName",
                      "src": "22125:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "22145:19:136",
                  "nodeType": "YulAssignment",
                  "src": "22145:19:136",
                  "value": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22161:2:136",
                        "nodeType": "YulLiteral",
                        "src": "22161:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22155:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "22155:5:136"
                    },
                    "nativeSrc": "22155:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22155:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "memPtr",
                      "nativeSrc": "22145:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22145:6:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "22173:34:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22173:34:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "22195:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "22195:6:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "22203:3:136",
                        "nodeType": "YulLiteral",
                        "src": "22203:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "22191:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "22191:3:136"
                    },
                    "nativeSrc": "22191:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22191:16:136"
                  },
                  "variables": [
                    {
                      "name": "newFreePtr",
                      "nativeSrc": "22177:10:136",
                      "nodeType": "YulTypedName",
                      "src": "22177:10:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22282:22:136",
                    "nodeType": "YulBlock",
                    "src": "22282:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x41",
                            "nativeSrc": "22284:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "22284:16:136"
                          },
                          "nativeSrc": "22284:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22284:18:136"
                        },
                        "nativeSrc": "22284:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22284:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "22225:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "22225:10:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22237:18:136",
                            "nodeType": "YulLiteral",
                            "src": "22237:18:136",
                            "type": "",
                            "value": "0xffffffffffffffff"
                          }
                        ],
                        "functionName": {
                          "name": "gt",
                          "nativeSrc": "22222:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "22222:2:136"
                        },
                        "nativeSrc": "22222:34:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22222:34:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "newFreePtr",
                            "nativeSrc": "22261:10:136",
                            "nodeType": "YulIdentifier",
                            "src": "22261:10:136"
                          },
                          {
                            "name": "memPtr",
                            "nativeSrc": "22273:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22273:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "22258:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "22258:2:136"
                        },
                        "nativeSrc": "22258:22:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22258:22:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "22219:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "22219:2:136"
                    },
                    "nativeSrc": "22219:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22219:62:136"
                  },
                  "nativeSrc": "22216:88:136",
                  "nodeType": "YulIf",
                  "src": "22216:88:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "22320:2:136",
                        "nodeType": "YulLiteral",
                        "src": "22320:2:136",
                        "type": "",
                        "value": "64"
                      },
                      {
                        "name": "newFreePtr",
                        "nativeSrc": "22324:10:136",
                        "nodeType": "YulIdentifier",
                        "src": "22324:10:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22313:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22313:6:136"
                    },
                    "nativeSrc": "22313:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22313:22:136"
                  },
                  "nativeSrc": "22313:22:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22313:22:136"
                },
                {
                  "nativeSrc": "22344:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22344:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "22363:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "22363:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22357:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "22357:5:136"
                    },
                    "nativeSrc": "22357:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22357:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "22348:5:136",
                      "nodeType": "YulTypedName",
                      "src": "22348:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "22406:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "22406:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "22382:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "22382:23:136"
                    },
                    "nativeSrc": "22382:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22382:30:136"
                  },
                  "nativeSrc": "22382:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22382:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "memPtr",
                        "nativeSrc": "22428:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "22428:6:136"
                      },
                      {
                        "name": "value",
                        "nativeSrc": "22436:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "22436:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22421:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22421:6:136"
                    },
                    "nativeSrc": "22421:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22421:21:136"
                  },
                  "nativeSrc": "22421:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22421:21:136"
                },
                {
                  "nativeSrc": "22451:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22451:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22476:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22476:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22487:2:136",
                            "nodeType": "YulLiteral",
                            "src": "22487:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22472:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22472:3:136"
                        },
                        "nativeSrc": "22472:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22472:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22466:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "22466:5:136"
                    },
                    "nativeSrc": "22466:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22466:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_1",
                      "nativeSrc": "22455:7:136",
                      "nodeType": "YulTypedName",
                      "src": "22455:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value_1",
                        "nativeSrc": "22524:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "22524:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_uint64",
                      "nativeSrc": "22500:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "22500:23:136"
                    },
                    "nativeSrc": "22500:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22500:32:136"
                  },
                  "nativeSrc": "22500:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22500:32:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "22552:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22552:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22560:2:136",
                            "nodeType": "YulLiteral",
                            "src": "22560:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22548:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22548:3:136"
                        },
                        "nativeSrc": "22548:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22548:15:136"
                      },
                      {
                        "name": "value_1",
                        "nativeSrc": "22565:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "22565:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22541:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22541:6:136"
                    },
                    "nativeSrc": "22541:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22541:32:136"
                  },
                  "nativeSrc": "22541:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22541:32:136"
                },
                {
                  "nativeSrc": "22582:16:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22582:16:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "22597:1:136",
                    "nodeType": "YulLiteral",
                    "src": "22597:1:136",
                    "type": "",
                    "value": "0"
                  },
                  "variables": [
                    {
                      "name": "value_2",
                      "nativeSrc": "22586:7:136",
                      "nodeType": "YulTypedName",
                      "src": "22586:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "nativeSrc": "22607:36:136",
                  "nodeType": "YulAssignment",
                  "src": "22607:36:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22628:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22628:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22639:2:136",
                            "nodeType": "YulLiteral",
                            "src": "22639:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22624:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22624:3:136"
                        },
                        "nativeSrc": "22624:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22624:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22618:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "22618:5:136"
                    },
                    "nativeSrc": "22618:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22618:25:136"
                  },
                  "variableNames": [
                    {
                      "name": "value_2",
                      "nativeSrc": "22607:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "22607:7:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "22663:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22663:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22671:2:136",
                            "nodeType": "YulLiteral",
                            "src": "22671:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22659:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22659:3:136"
                        },
                        "nativeSrc": "22659:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22659:15:136"
                      },
                      {
                        "name": "value_2",
                        "nativeSrc": "22676:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "22676:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22652:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22652:6:136"
                    },
                    "nativeSrc": "22652:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22652:32:136"
                  },
                  "nativeSrc": "22652:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22652:32:136"
                },
                {
                  "nativeSrc": "22693:40:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "22693:40:136",
                  "value": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "22718:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "22718:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22729:2:136",
                            "nodeType": "YulLiteral",
                            "src": "22729:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22714:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22714:3:136"
                        },
                        "nativeSrc": "22714:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22714:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "22708:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "22708:5:136"
                    },
                    "nativeSrc": "22708:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22708:25:136"
                  },
                  "variables": [
                    {
                      "name": "value_3",
                      "nativeSrc": "22697:7:136",
                      "nodeType": "YulTypedName",
                      "src": "22697:7:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "22768:16:136",
                    "nodeType": "YulBlock",
                    "src": "22768:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "22777:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22777:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "22780:1:136",
                              "nodeType": "YulLiteral",
                              "src": "22780:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "22770:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22770:6:136"
                          },
                          "nativeSrc": "22770:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "22770:12:136"
                        },
                        "nativeSrc": "22770:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "22770:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "value_3",
                            "nativeSrc": "22755:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "22755:7:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22764:1:136",
                            "nodeType": "YulLiteral",
                            "src": "22764:1:136",
                            "type": "",
                            "value": "4"
                          }
                        ],
                        "functionName": {
                          "name": "lt",
                          "nativeSrc": "22752:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "22752:2:136"
                        },
                        "nativeSrc": "22752:14:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22752:14:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "22745:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22745:6:136"
                    },
                    "nativeSrc": "22745:22:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22745:22:136"
                  },
                  "nativeSrc": "22742:42:136",
                  "nodeType": "YulIf",
                  "src": "22742:42:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "memPtr",
                            "nativeSrc": "22804:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "22804:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "22812:2:136",
                            "nodeType": "YulLiteral",
                            "src": "22812:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "22800:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "22800:3:136"
                        },
                        "nativeSrc": "22800:15:136",
                        "nodeType": "YulFunctionCall",
                        "src": "22800:15:136"
                      },
                      {
                        "name": "value_3",
                        "nativeSrc": "22817:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "22817:7:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "22793:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22793:6:136"
                    },
                    "nativeSrc": "22793:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "22793:32:136"
                  },
                  "nativeSrc": "22793:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "22793:32:136"
                },
                {
                  "nativeSrc": "22834:16:136",
                  "nodeType": "YulAssignment",
                  "src": "22834:16:136",
                  "value": {
                    "name": "memPtr",
                    "nativeSrc": "22844:6:136",
                    "nodeType": "YulIdentifier",
                    "src": "22844:6:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "22834:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "22834:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_struct$_Price_$29489_memory_ptr_fromMemory",
            "nativeSrc": "21907:949:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "21978:9:136",
                "nodeType": "YulTypedName",
                "src": "21978:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "21989:7:136",
                "nodeType": "YulTypedName",
                "src": "21989:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "22001:6:136",
                "nodeType": "YulTypedName",
                "src": "22001:6:136",
                "type": ""
              }
            ],
            "src": "21907:949:136"
          },
          {
            "body": {
              "nativeSrc": "23035:162:136",
              "nodeType": "YulBlock",
              "src": "23035:162:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23052:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "23052:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23063:2:136",
                        "nodeType": "YulLiteral",
                        "src": "23063:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23045:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23045:6:136"
                    },
                    "nativeSrc": "23045:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23045:21:136"
                  },
                  "nativeSrc": "23045:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23045:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23086:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "23086:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23097:2:136",
                            "nodeType": "YulLiteral",
                            "src": "23097:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23082:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23082:3:136"
                        },
                        "nativeSrc": "23082:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23082:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23102:2:136",
                        "nodeType": "YulLiteral",
                        "src": "23102:2:136",
                        "type": "",
                        "value": "12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23075:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23075:6:136"
                    },
                    "nativeSrc": "23075:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23075:30:136"
                  },
                  "nativeSrc": "23075:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23075:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23125:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "23125:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23136:2:136",
                            "nodeType": "YulLiteral",
                            "src": "23136:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23121:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23121:3:136"
                        },
                        "nativeSrc": "23121:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23121:18:136"
                      },
                      {
                        "hexValue": "756e6b6e6f776e2066656564",
                        "kind": "string",
                        "nativeSrc": "23141:14:136",
                        "nodeType": "YulLiteral",
                        "src": "23141:14:136",
                        "type": "",
                        "value": "unknown feed"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23114:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23114:6:136"
                    },
                    "nativeSrc": "23114:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23114:42:136"
                  },
                  "nativeSrc": "23114:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23114:42:136"
                },
                {
                  "nativeSrc": "23165:26:136",
                  "nodeType": "YulAssignment",
                  "src": "23165:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23177:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "23177:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23188:2:136",
                        "nodeType": "YulLiteral",
                        "src": "23188:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "23173:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23173:3:136"
                    },
                    "nativeSrc": "23173:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23173:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "23165:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "23165:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_c94e87ddd6b6ec6ade1b6f4c2ab0b42f2565eebe130a7fb016f7716fc5871c5a__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "22861:336:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "23012:9:136",
                "nodeType": "YulTypedName",
                "src": "23012:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "23026:4:136",
                "nodeType": "YulTypedName",
                "src": "23026:4:136",
                "type": ""
              }
            ],
            "src": "22861:336:136"
          },
          {
            "body": {
              "nativeSrc": "23234:95:136",
              "nodeType": "YulBlock",
              "src": "23234:95:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23251:1:136",
                        "nodeType": "YulLiteral",
                        "src": "23251:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "23258:3:136",
                            "nodeType": "YulLiteral",
                            "src": "23258:3:136",
                            "type": "",
                            "value": "224"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23263:10:136",
                            "nodeType": "YulLiteral",
                            "src": "23263:10:136",
                            "type": "",
                            "value": "0x4e487b71"
                          }
                        ],
                        "functionName": {
                          "name": "shl",
                          "nativeSrc": "23254:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23254:3:136"
                        },
                        "nativeSrc": "23254:20:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23254:20:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23244:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23244:6:136"
                    },
                    "nativeSrc": "23244:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23244:31:136"
                  },
                  "nativeSrc": "23244:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23244:31:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23291:1:136",
                        "nodeType": "YulLiteral",
                        "src": "23291:1:136",
                        "type": "",
                        "value": "4"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23294:4:136",
                        "nodeType": "YulLiteral",
                        "src": "23294:4:136",
                        "type": "",
                        "value": "0x31"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23284:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23284:6:136"
                    },
                    "nativeSrc": "23284:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23284:15:136"
                  },
                  "nativeSrc": "23284:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23284:15:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "kind": "number",
                        "nativeSrc": "23315:1:136",
                        "nodeType": "YulLiteral",
                        "src": "23315:1:136",
                        "type": "",
                        "value": "0"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23318:4:136",
                        "nodeType": "YulLiteral",
                        "src": "23318:4:136",
                        "type": "",
                        "value": "0x24"
                      }
                    ],
                    "functionName": {
                      "name": "revert",
                      "nativeSrc": "23308:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23308:6:136"
                    },
                    "nativeSrc": "23308:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23308:15:136"
                  },
                  "nativeSrc": "23308:15:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23308:15:136"
                }
              ]
            },
            "name": "panic_error_0x31",
            "nativeSrc": "23202:127:136",
            "nodeType": "YulFunctionDefinition",
            "src": "23202:127:136"
          },
          {
            "body": {
              "nativeSrc": "23491:186:136",
              "nodeType": "YulBlock",
              "src": "23491:186:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23508:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "23508:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23519:2:136",
                        "nodeType": "YulLiteral",
                        "src": "23519:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23501:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23501:6:136"
                    },
                    "nativeSrc": "23501:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23501:21:136"
                  },
                  "nativeSrc": "23501:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23501:21:136"
                },
                {
                  "nativeSrc": "23531:70:136",
                  "nodeType": "YulAssignment",
                  "src": "23531:70:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "23566:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23566:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "23574:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "23574:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23586:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "23586:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23597:2:136",
                            "nodeType": "YulLiteral",
                            "src": "23597:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23582:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23582:3:136"
                        },
                        "nativeSrc": "23582:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23582:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string_calldata",
                      "nativeSrc": "23539:26:136",
                      "nodeType": "YulIdentifier",
                      "src": "23539:26:136"
                    },
                    "nativeSrc": "23539:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23539:62:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "23531:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "23531:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "23621:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "23621:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "23632:2:136",
                            "nodeType": "YulLiteral",
                            "src": "23632:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "23617:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23617:3:136"
                        },
                        "nativeSrc": "23617:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23617:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value2",
                            "nativeSrc": "23641:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "23641:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "23653:3:136",
                                "nodeType": "YulLiteral",
                                "src": "23653:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "23658:10:136",
                                "nodeType": "YulLiteral",
                                "src": "23658:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "23649:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "23649:3:136"
                            },
                            "nativeSrc": "23649:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "23649:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "23637:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23637:3:136"
                        },
                        "nativeSrc": "23637:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23637:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "23610:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23610:6:136"
                    },
                    "nativeSrc": "23610:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23610:61:136"
                  },
                  "nativeSrc": "23610:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23610:61:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_calldata_ptr_t_bytes4__to_t_string_memory_ptr_t_bytes4__fromStack_reversed",
            "nativeSrc": "23334:343:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "23444:9:136",
                "nodeType": "YulTypedName",
                "src": "23444:9:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "23455:6:136",
                "nodeType": "YulTypedName",
                "src": "23455:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "23463:6:136",
                "nodeType": "YulTypedName",
                "src": "23463:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "23471:6:136",
                "nodeType": "YulTypedName",
                "src": "23471:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "23482:4:136",
                "nodeType": "YulTypedName",
                "src": "23482:4:136",
                "type": ""
              }
            ],
            "src": "23334:343:136"
          },
          {
            "body": {
              "nativeSrc": "23762:169:136",
              "nodeType": "YulBlock",
              "src": "23762:169:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "23808:16:136",
                    "nodeType": "YulBlock",
                    "src": "23808:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "23817:1:136",
                              "nodeType": "YulLiteral",
                              "src": "23817:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "23820:1:136",
                              "nodeType": "YulLiteral",
                              "src": "23820:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "23810:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "23810:6:136"
                          },
                          "nativeSrc": "23810:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "23810:12:136"
                        },
                        "nativeSrc": "23810:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "23810:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "23783:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "23783:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "23792:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "23792:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "23779:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "23779:3:136"
                        },
                        "nativeSrc": "23779:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "23779:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "23804:2:136",
                        "nodeType": "YulLiteral",
                        "src": "23804:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "23775:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "23775:3:136"
                    },
                    "nativeSrc": "23775:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23775:32:136"
                  },
                  "nativeSrc": "23772:52:136",
                  "nodeType": "YulIf",
                  "src": "23772:52:136"
                },
                {
                  "nativeSrc": "23833:29:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "23833:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "23852:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "23852:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "mload",
                      "nativeSrc": "23846:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "23846:5:136"
                    },
                    "nativeSrc": "23846:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23846:16:136"
                  },
                  "variables": [
                    {
                      "name": "value",
                      "nativeSrc": "23837:5:136",
                      "nodeType": "YulTypedName",
                      "src": "23837:5:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "23895:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "23895:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "validator_revert_bytes4",
                      "nativeSrc": "23871:23:136",
                      "nodeType": "YulIdentifier",
                      "src": "23871:23:136"
                    },
                    "nativeSrc": "23871:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "23871:30:136"
                  },
                  "nativeSrc": "23871:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "23871:30:136"
                },
                {
                  "nativeSrc": "23910:15:136",
                  "nodeType": "YulAssignment",
                  "src": "23910:15:136",
                  "value": {
                    "name": "value",
                    "nativeSrc": "23920:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "23920:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "23910:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "23910:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_bytes4_fromMemory",
            "nativeSrc": "23682:249:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "23728:9:136",
                "nodeType": "YulTypedName",
                "src": "23728:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "23739:7:136",
                "nodeType": "YulTypedName",
                "src": "23739:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "23751:6:136",
                "nodeType": "YulTypedName",
                "src": "23751:6:136",
                "type": ""
              }
            ],
            "src": "23682:249:136"
          },
          {
            "body": {
              "nativeSrc": "24110:223:136",
              "nodeType": "YulBlock",
              "src": "24110:223:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24127:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "24127:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24138:2:136",
                        "nodeType": "YulLiteral",
                        "src": "24138:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24120:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24120:6:136"
                    },
                    "nativeSrc": "24120:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24120:21:136"
                  },
                  "nativeSrc": "24120:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24120:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24161:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "24161:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24172:2:136",
                            "nodeType": "YulLiteral",
                            "src": "24172:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24157:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24157:3:136"
                        },
                        "nativeSrc": "24157:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24157:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24177:2:136",
                        "nodeType": "YulLiteral",
                        "src": "24177:2:136",
                        "type": "",
                        "value": "33"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24150:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24150:6:136"
                    },
                    "nativeSrc": "24150:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24150:30:136"
                  },
                  "nativeSrc": "24150:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24150:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24200:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "24200:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24211:2:136",
                            "nodeType": "YulLiteral",
                            "src": "24211:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24196:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24196:3:136"
                        },
                        "nativeSrc": "24196:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24196:18:136"
                      },
                      {
                        "hexValue": "756e636f6d706c69616e7420736f6c76657220696d706c656d656e746174696f",
                        "kind": "string",
                        "nativeSrc": "24216:34:136",
                        "nodeType": "YulLiteral",
                        "src": "24216:34:136",
                        "type": "",
                        "value": "uncompliant solver implementatio"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24189:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24189:6:136"
                    },
                    "nativeSrc": "24189:62:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24189:62:136"
                  },
                  "nativeSrc": "24189:62:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24189:62:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24271:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "24271:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24282:2:136",
                            "nodeType": "YulLiteral",
                            "src": "24282:2:136",
                            "type": "",
                            "value": "96"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24267:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24267:3:136"
                        },
                        "nativeSrc": "24267:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24267:18:136"
                      },
                      {
                        "hexValue": "6e",
                        "kind": "string",
                        "nativeSrc": "24287:3:136",
                        "nodeType": "YulLiteral",
                        "src": "24287:3:136",
                        "type": "",
                        "value": "n"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24260:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24260:6:136"
                    },
                    "nativeSrc": "24260:31:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24260:31:136"
                  },
                  "nativeSrc": "24260:31:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24260:31:136"
                },
                {
                  "nativeSrc": "24300:27:136",
                  "nodeType": "YulAssignment",
                  "src": "24300:27:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24312:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "24312:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24323:3:136",
                        "nodeType": "YulLiteral",
                        "src": "24323:3:136",
                        "type": "",
                        "value": "128"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24308:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24308:3:136"
                    },
                    "nativeSrc": "24308:19:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24308:19:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "24300:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "24300:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_47258aa661f16d1b83e6992f426809824b97de6d4c1546080ae22fc060ac6612__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "23936:397:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24087:9:136",
                "nodeType": "YulTypedName",
                "src": "24087:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "24101:4:136",
                "nodeType": "YulTypedName",
                "src": "24101:4:136",
                "type": ""
              }
            ],
            "src": "23936:397:136"
          },
          {
            "body": {
              "nativeSrc": "24485:169:136",
              "nodeType": "YulBlock",
              "src": "24485:169:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24502:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "24502:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "24513:2:136",
                        "nodeType": "YulLiteral",
                        "src": "24513:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24495:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24495:6:136"
                    },
                    "nativeSrc": "24495:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24495:21:136"
                  },
                  "nativeSrc": "24495:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24495:21:136"
                },
                {
                  "nativeSrc": "24525:53:136",
                  "nodeType": "YulAssignment",
                  "src": "24525:53:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value0",
                        "nativeSrc": "24551:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "24551:6:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24563:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "24563:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24574:2:136",
                            "nodeType": "YulLiteral",
                            "src": "24574:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24559:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24559:3:136"
                        },
                        "nativeSrc": "24559:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24559:18:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_encode_string",
                      "nativeSrc": "24533:17:136",
                      "nodeType": "YulIdentifier",
                      "src": "24533:17:136"
                    },
                    "nativeSrc": "24533:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24533:45:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "24525:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "24525:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "24598:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "24598:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "24609:2:136",
                            "nodeType": "YulLiteral",
                            "src": "24609:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "24594:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24594:3:136"
                        },
                        "nativeSrc": "24594:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24594:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "24618:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "24618:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "24630:3:136",
                                "nodeType": "YulLiteral",
                                "src": "24630:3:136",
                                "type": "",
                                "value": "224"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "24635:10:136",
                                "nodeType": "YulLiteral",
                                "src": "24635:10:136",
                                "type": "",
                                "value": "0xffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "24626:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "24626:3:136"
                            },
                            "nativeSrc": "24626:20:136",
                            "nodeType": "YulFunctionCall",
                            "src": "24626:20:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "24614:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24614:3:136"
                        },
                        "nativeSrc": "24614:33:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24614:33:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24587:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24587:6:136"
                    },
                    "nativeSrc": "24587:61:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24587:61:136"
                  },
                  "nativeSrc": "24587:61:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24587:61:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_string_memory_ptr_t_bytes4__to_t_string_memory_ptr_t_bytes4__fromStack_reversed",
            "nativeSrc": "24338:316:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24446:9:136",
                "nodeType": "YulTypedName",
                "src": "24446:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "24457:6:136",
                "nodeType": "YulTypedName",
                "src": "24457:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "24465:6:136",
                "nodeType": "YulTypedName",
                "src": "24465:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "24476:4:136",
                "nodeType": "YulTypedName",
                "src": "24476:4:136",
                "type": ""
              }
            ],
            "src": "24338:316:136"
          },
          {
            "body": {
              "nativeSrc": "24706:89:136",
              "nodeType": "YulBlock",
              "src": "24706:89:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "24733:22:136",
                    "nodeType": "YulBlock",
                    "src": "24733:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "24735:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "24735:16:136"
                          },
                          "nativeSrc": "24735:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "24735:18:136"
                        },
                        "nativeSrc": "24735:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "24735:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "24726:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "24726:5:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "24719:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24719:6:136"
                    },
                    "nativeSrc": "24719:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24719:13:136"
                  },
                  "nativeSrc": "24716:39:136",
                  "nodeType": "YulIf",
                  "src": "24716:39:136"
                },
                {
                  "nativeSrc": "24764:25:136",
                  "nodeType": "YulAssignment",
                  "src": "24764:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "24775:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "24775:5:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "24786:1:136",
                            "nodeType": "YulLiteral",
                            "src": "24786:1:136",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "24782:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "24782:3:136"
                        },
                        "nativeSrc": "24782:6:136",
                        "nodeType": "YulFunctionCall",
                        "src": "24782:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "24771:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24771:3:136"
                    },
                    "nativeSrc": "24771:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24771:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "24764:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "24764:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "decrement_t_uint256",
            "nativeSrc": "24659:136:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "24688:5:136",
                "nodeType": "YulTypedName",
                "src": "24688:5:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "24698:3:136",
                "nodeType": "YulTypedName",
                "src": "24698:3:136",
                "type": ""
              }
            ],
            "src": "24659:136:136"
          },
          {
            "body": {
              "nativeSrc": "24974:162:136",
              "nodeType": "YulBlock",
              "src": "24974:162:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "24991:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "24991:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25002:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25002:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "24984:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "24984:6:136"
                    },
                    "nativeSrc": "24984:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "24984:21:136"
                  },
                  "nativeSrc": "24984:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "24984:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25025:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "25025:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25036:2:136",
                            "nodeType": "YulLiteral",
                            "src": "25036:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25021:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25021:3:136"
                        },
                        "nativeSrc": "25021:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25021:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25041:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25041:2:136",
                        "type": "",
                        "value": "12"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25014:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25014:6:136"
                    },
                    "nativeSrc": "25014:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25014:30:136"
                  },
                  "nativeSrc": "25014:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25014:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "25064:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "25064:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25075:2:136",
                            "nodeType": "YulLiteral",
                            "src": "25075:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25060:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25060:3:136"
                        },
                        "nativeSrc": "25060:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25060:18:136"
                      },
                      {
                        "hexValue": "62616420646563696d616c73",
                        "kind": "string",
                        "nativeSrc": "25080:14:136",
                        "nodeType": "YulLiteral",
                        "src": "25080:14:136",
                        "type": "",
                        "value": "bad decimals"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25053:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25053:6:136"
                    },
                    "nativeSrc": "25053:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25053:42:136"
                  },
                  "nativeSrc": "25053:42:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25053:42:136"
                },
                {
                  "nativeSrc": "25104:26:136",
                  "nodeType": "YulAssignment",
                  "src": "25104:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25116:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25116:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25127:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25127:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25112:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25112:3:136"
                    },
                    "nativeSrc": "25112:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25112:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "25104:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "25104:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_6d8dc20c0b65a034f73794fa34cd41247fce46ed1ea58582bb13055813593b66__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "24800:336:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "24951:9:136",
                "nodeType": "YulTypedName",
                "src": "24951:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "24965:4:136",
                "nodeType": "YulTypedName",
                "src": "24965:4:136",
                "type": ""
              }
            ],
            "src": "24800:336:136"
          },
          {
            "body": {
              "nativeSrc": "25342:240:136",
              "nodeType": "YulBlock",
              "src": "25342:240:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "25359:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "25359:3:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "25368:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25368:6:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "25380:3:136",
                                "nodeType": "YulLiteral",
                                "src": "25380:3:136",
                                "type": "",
                                "value": "248"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "25385:3:136",
                                "nodeType": "YulLiteral",
                                "src": "25385:3:136",
                                "type": "",
                                "value": "255"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "25376:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25376:3:136"
                            },
                            "nativeSrc": "25376:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25376:13:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25364:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25364:3:136"
                        },
                        "nativeSrc": "25364:26:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25364:26:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25352:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25352:6:136"
                    },
                    "nativeSrc": "25352:39:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25352:39:136"
                  },
                  "nativeSrc": "25352:39:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25352:39:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "25411:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25411:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25416:1:136",
                            "nodeType": "YulLiteral",
                            "src": "25416:1:136",
                            "type": "",
                            "value": "1"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25407:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25407:3:136"
                        },
                        "nativeSrc": "25407:11:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25407:11:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "25428:2:136",
                                "nodeType": "YulLiteral",
                                "src": "25428:2:136",
                                "type": "",
                                "value": "96"
                              },
                              {
                                "name": "value1",
                                "nativeSrc": "25432:6:136",
                                "nodeType": "YulIdentifier",
                                "src": "25432:6:136"
                              }
                            ],
                            "functionName": {
                              "name": "shl",
                              "nativeSrc": "25424:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25424:3:136"
                            },
                            "nativeSrc": "25424:15:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25424:15:136"
                          },
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "25445:26:136",
                                "nodeType": "YulLiteral",
                                "src": "25445:26:136",
                                "type": "",
                                "value": "0xffffffffffffffffffffffff"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "25441:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "25441:3:136"
                            },
                            "nativeSrc": "25441:31:136",
                            "nodeType": "YulFunctionCall",
                            "src": "25441:31:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "25420:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25420:3:136"
                        },
                        "nativeSrc": "25420:53:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25420:53:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25400:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25400:6:136"
                    },
                    "nativeSrc": "25400:74:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25400:74:136"
                  },
                  "nativeSrc": "25400:74:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25400:74:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "25494:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25494:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25499:2:136",
                            "nodeType": "YulLiteral",
                            "src": "25499:2:136",
                            "type": "",
                            "value": "21"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25490:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25490:3:136"
                        },
                        "nativeSrc": "25490:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25490:12:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "25504:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25504:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25483:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25483:6:136"
                    },
                    "nativeSrc": "25483:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25483:28:136"
                  },
                  "nativeSrc": "25483:28:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25483:28:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "pos",
                            "nativeSrc": "25531:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "25531:3:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "25536:2:136",
                            "nodeType": "YulLiteral",
                            "src": "25536:2:136",
                            "type": "",
                            "value": "53"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "25527:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25527:3:136"
                        },
                        "nativeSrc": "25527:12:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25527:12:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "25541:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "25541:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "25520:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25520:6:136"
                    },
                    "nativeSrc": "25520:28:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25520:28:136"
                  },
                  "nativeSrc": "25520:28:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "25520:28:136"
                },
                {
                  "nativeSrc": "25557:19:136",
                  "nodeType": "YulAssignment",
                  "src": "25557:19:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "25568:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "25568:3:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25573:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25573:2:136",
                        "type": "",
                        "value": "85"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "25564:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25564:3:136"
                    },
                    "nativeSrc": "25564:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25564:12:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "25557:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25557:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes1_t_address_t_bytes32_t_bytes32__to_t_bytes1_t_address_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "25141:441:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "25294:3:136",
                "nodeType": "YulTypedName",
                "src": "25294:3:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "25299:6:136",
                "nodeType": "YulTypedName",
                "src": "25299:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "25307:6:136",
                "nodeType": "YulTypedName",
                "src": "25307:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "25315:6:136",
                "nodeType": "YulTypedName",
                "src": "25315:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "25323:6:136",
                "nodeType": "YulTypedName",
                "src": "25323:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "25334:3:136",
                "nodeType": "YulTypedName",
                "src": "25334:3:136",
                "type": ""
              }
            ],
            "src": "25141:441:136"
          },
          {
            "body": {
              "nativeSrc": "25686:137:136",
              "nodeType": "YulBlock",
              "src": "25686:137:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "25732:16:136",
                    "nodeType": "YulBlock",
                    "src": "25732:16:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "25741:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25741:1:136",
                              "type": "",
                              "value": "0"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "25744:1:136",
                              "nodeType": "YulLiteral",
                              "src": "25744:1:136",
                              "type": "",
                              "value": "0"
                            }
                          ],
                          "functionName": {
                            "name": "revert",
                            "nativeSrc": "25734:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "25734:6:136"
                          },
                          "nativeSrc": "25734:12:136",
                          "nodeType": "YulFunctionCall",
                          "src": "25734:12:136"
                        },
                        "nativeSrc": "25734:12:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "25734:12:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "dataEnd",
                            "nativeSrc": "25707:7:136",
                            "nodeType": "YulIdentifier",
                            "src": "25707:7:136"
                          },
                          {
                            "name": "headStart",
                            "nativeSrc": "25716:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "25716:9:136"
                          }
                        ],
                        "functionName": {
                          "name": "sub",
                          "nativeSrc": "25703:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "25703:3:136"
                        },
                        "nativeSrc": "25703:23:136",
                        "nodeType": "YulFunctionCall",
                        "src": "25703:23:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "25728:2:136",
                        "nodeType": "YulLiteral",
                        "src": "25728:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "slt",
                      "nativeSrc": "25699:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "25699:3:136"
                    },
                    "nativeSrc": "25699:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25699:32:136"
                  },
                  "nativeSrc": "25696:52:136",
                  "nodeType": "YulIf",
                  "src": "25696:52:136"
                },
                {
                  "nativeSrc": "25757:60:136",
                  "nodeType": "YulAssignment",
                  "src": "25757:60:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "25807:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "25807:9:136"
                      }
                    ],
                    "functionName": {
                      "name": "abi_decode_enum_ResultStatus_fromMemory",
                      "nativeSrc": "25767:39:136",
                      "nodeType": "YulIdentifier",
                      "src": "25767:39:136"
                    },
                    "nativeSrc": "25767:50:136",
                    "nodeType": "YulFunctionCall",
                    "src": "25767:50:136"
                  },
                  "variableNames": [
                    {
                      "name": "value0",
                      "nativeSrc": "25757:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "25757:6:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_decode_tuple_t_enum$_ResultStatus_$37698_fromMemory",
            "nativeSrc": "25587:236:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25652:9:136",
                "nodeType": "YulTypedName",
                "src": "25652:9:136",
                "type": ""
              },
              {
                "name": "dataEnd",
                "nativeSrc": "25663:7:136",
                "nodeType": "YulTypedName",
                "src": "25663:7:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "value0",
                "nativeSrc": "25675:6:136",
                "nodeType": "YulTypedName",
                "src": "25675:6:136",
                "type": ""
              }
            ],
            "src": "25587:236:136"
          },
          {
            "body": {
              "nativeSrc": "26002:173:136",
              "nodeType": "YulBlock",
              "src": "26002:173:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26019:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26019:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26030:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26030:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26012:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26012:6:136"
                    },
                    "nativeSrc": "26012:21:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26012:21:136"
                  },
                  "nativeSrc": "26012:21:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26012:21:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26053:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26053:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26064:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26064:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26049:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26049:3:136"
                        },
                        "nativeSrc": "26049:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26049:18:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26069:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26069:2:136",
                        "type": "",
                        "value": "23"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26042:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26042:6:136"
                    },
                    "nativeSrc": "26042:30:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26042:30:136"
                  },
                  "nativeSrc": "26042:30:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26042:30:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26092:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26092:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26103:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26103:2:136",
                            "type": "",
                            "value": "64"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26088:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26088:3:136"
                        },
                        "nativeSrc": "26088:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26088:18:136"
                      },
                      {
                        "hexValue": "63626f723a2063616e6e6f742066657463682064617461",
                        "kind": "string",
                        "nativeSrc": "26108:25:136",
                        "nodeType": "YulLiteral",
                        "src": "26108:25:136",
                        "type": "",
                        "value": "cbor: cannot fetch data"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26081:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26081:6:136"
                    },
                    "nativeSrc": "26081:53:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26081:53:136"
                  },
                  "nativeSrc": "26081:53:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26081:53:136"
                },
                {
                  "nativeSrc": "26143:26:136",
                  "nodeType": "YulAssignment",
                  "src": "26143:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26155:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26155:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26166:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26166:2:136",
                        "type": "",
                        "value": "96"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26151:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26151:3:136"
                    },
                    "nativeSrc": "26151:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26151:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "26143:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "26143:4:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_t_stringliteral_f9e00dcd71685f8522f8d07872510c3a81c2039687b393455d27e0cdc22dcafa__to_t_string_memory_ptr__fromStack_reversed",
            "nativeSrc": "25828:347:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "25979:9:136",
                "nodeType": "YulTypedName",
                "src": "25979:9:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "25993:4:136",
                "nodeType": "YulTypedName",
                "src": "25993:4:136",
                "type": ""
              }
            ],
            "src": "25828:347:136"
          },
          {
            "body": {
              "nativeSrc": "26383:221:136",
              "nodeType": "YulBlock",
              "src": "26383:221:136",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "26406:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "26406:3:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "26411:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26411:6:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "26419:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26419:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "26393:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "26393:12:136"
                    },
                    "nativeSrc": "26393:33:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26393:33:136"
                  },
                  "nativeSrc": "26393:33:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26393:33:136"
                },
                {
                  "nativeSrc": "26435:26:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26435:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "pos",
                        "nativeSrc": "26449:3:136",
                        "nodeType": "YulIdentifier",
                        "src": "26449:3:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "26454:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26454:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26445:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26445:3:136"
                    },
                    "nativeSrc": "26445:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26445:16:136"
                  },
                  "variables": [
                    {
                      "name": "_1",
                      "nativeSrc": "26439:2:136",
                      "nodeType": "YulTypedName",
                      "src": "26439:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "26477:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "26477:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26481:1:136",
                        "nodeType": "YulLiteral",
                        "src": "26481:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26470:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26470:6:136"
                    },
                    "nativeSrc": "26470:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26470:13:136"
                  },
                  "nativeSrc": "26470:13:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26470:13:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "26505:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "26505:2:136"
                      },
                      {
                        "name": "value2",
                        "nativeSrc": "26509:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26509:6:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "26517:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26517:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "calldatacopy",
                      "nativeSrc": "26492:12:136",
                      "nodeType": "YulIdentifier",
                      "src": "26492:12:136"
                    },
                    "nativeSrc": "26492:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26492:32:136"
                  },
                  "nativeSrc": "26492:32:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26492:32:136"
                },
                {
                  "nativeSrc": "26533:25:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "26533:25:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "_1",
                        "nativeSrc": "26547:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "26547:2:136"
                      },
                      {
                        "name": "value3",
                        "nativeSrc": "26551:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "26551:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26543:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26543:3:136"
                    },
                    "nativeSrc": "26543:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26543:15:136"
                  },
                  "variables": [
                    {
                      "name": "_2",
                      "nativeSrc": "26537:2:136",
                      "nodeType": "YulTypedName",
                      "src": "26537:2:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "_2",
                        "nativeSrc": "26574:2:136",
                        "nodeType": "YulIdentifier",
                        "src": "26574:2:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26578:1:136",
                        "nodeType": "YulLiteral",
                        "src": "26578:1:136",
                        "type": "",
                        "value": "0"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26567:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26567:6:136"
                    },
                    "nativeSrc": "26567:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26567:13:136"
                  },
                  "nativeSrc": "26567:13:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26567:13:136"
                },
                {
                  "nativeSrc": "26589:9:136",
                  "nodeType": "YulAssignment",
                  "src": "26589:9:136",
                  "value": {
                    "name": "_2",
                    "nativeSrc": "26596:2:136",
                    "nodeType": "YulIdentifier",
                    "src": "26596:2:136"
                  },
                  "variableNames": [
                    {
                      "name": "end",
                      "nativeSrc": "26589:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26589:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "abi_encode_tuple_packed_t_bytes_calldata_ptr_t_bytes_calldata_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed",
            "nativeSrc": "26180:424:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "pos",
                "nativeSrc": "26335:3:136",
                "nodeType": "YulTypedName",
                "src": "26335:3:136",
                "type": ""
              },
              {
                "name": "value3",
                "nativeSrc": "26340:6:136",
                "nodeType": "YulTypedName",
                "src": "26340:6:136",
                "type": ""
              },
              {
                "name": "value2",
                "nativeSrc": "26348:6:136",
                "nodeType": "YulTypedName",
                "src": "26348:6:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "26356:6:136",
                "nodeType": "YulTypedName",
                "src": "26356:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "26364:6:136",
                "nodeType": "YulTypedName",
                "src": "26364:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "end",
                "nativeSrc": "26375:3:136",
                "nodeType": "YulTypedName",
                "src": "26375:3:136",
                "type": ""
              }
            ],
            "src": "26180:424:136"
          },
          {
            "body": {
              "nativeSrc": "26656:88:136",
              "nodeType": "YulBlock",
              "src": "26656:88:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "26687:22:136",
                    "nodeType": "YulBlock",
                    "src": "26687:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "26689:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "26689:16:136"
                          },
                          "nativeSrc": "26689:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "26689:18:136"
                        },
                        "nativeSrc": "26689:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "26689:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "26672:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "26672:5:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "26683:1:136",
                            "nodeType": "YulLiteral",
                            "src": "26683:1:136",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "26679:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26679:3:136"
                        },
                        "nativeSrc": "26679:6:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26679:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "eq",
                      "nativeSrc": "26669:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "26669:2:136"
                    },
                    "nativeSrc": "26669:17:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26669:17:136"
                  },
                  "nativeSrc": "26666:43:136",
                  "nodeType": "YulIf",
                  "src": "26666:43:136"
                },
                {
                  "nativeSrc": "26718:20:136",
                  "nodeType": "YulAssignment",
                  "src": "26718:20:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "value",
                        "nativeSrc": "26729:5:136",
                        "nodeType": "YulIdentifier",
                        "src": "26729:5:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26736:1:136",
                        "nodeType": "YulLiteral",
                        "src": "26736:1:136",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26725:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26725:3:136"
                    },
                    "nativeSrc": "26725:13:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26725:13:136"
                  },
                  "variableNames": [
                    {
                      "name": "ret",
                      "nativeSrc": "26718:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26718:3:136"
                    }
                  ]
                }
              ]
            },
            "name": "increment_t_uint256",
            "nativeSrc": "26609:135:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "value",
                "nativeSrc": "26638:5:136",
                "nodeType": "YulTypedName",
                "src": "26638:5:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "ret",
                "nativeSrc": "26648:3:136",
                "nodeType": "YulTypedName",
                "src": "26648:3:136",
                "type": ""
              }
            ],
            "src": "26609:135:136"
          },
          {
            "body": {
              "nativeSrc": "26874:141:136",
              "nodeType": "YulBlock",
              "src": "26874:141:136",
              "statements": [
                {
                  "nativeSrc": "26884:26:136",
                  "nodeType": "YulAssignment",
                  "src": "26884:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26896:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26896:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "26907:2:136",
                        "nodeType": "YulLiteral",
                        "src": "26907:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "26892:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "26892:3:136"
                    },
                    "nativeSrc": "26892:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26892:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "26884:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "26884:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "26926:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "26926:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "26941:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26941:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26949:4:136",
                            "nodeType": "YulLiteral",
                            "src": "26949:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "26937:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26937:3:136"
                        },
                        "nativeSrc": "26937:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26937:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26919:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26919:6:136"
                    },
                    "nativeSrc": "26919:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26919:36:136"
                  },
                  "nativeSrc": "26919:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26919:36:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "26975:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "26975:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "26986:2:136",
                            "nodeType": "YulLiteral",
                            "src": "26986:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "26971:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26971:3:136"
                        },
                        "nativeSrc": "26971:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26971:18:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value1",
                            "nativeSrc": "26995:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "26995:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "27003:4:136",
                            "nodeType": "YulLiteral",
                            "src": "27003:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "26991:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "26991:3:136"
                        },
                        "nativeSrc": "26991:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "26991:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "26964:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "26964:6:136"
                    },
                    "nativeSrc": "26964:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "26964:45:136"
                  },
                  "nativeSrc": "26964:45:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "26964:45:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "26749:266:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "26835:9:136",
                "nodeType": "YulTypedName",
                "src": "26835:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "26846:6:136",
                "nodeType": "YulTypedName",
                "src": "26846:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "26854:6:136",
                "nodeType": "YulTypedName",
                "src": "26854:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "26865:4:136",
                "nodeType": "YulTypedName",
                "src": "26865:4:136",
                "type": ""
              }
            ],
            "src": "26749:266:136"
          },
          {
            "body": {
              "nativeSrc": "27072:116:136",
              "nodeType": "YulBlock",
              "src": "27072:116:136",
              "statements": [
                {
                  "nativeSrc": "27082:20:136",
                  "nodeType": "YulAssignment",
                  "src": "27082:20:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "x",
                        "nativeSrc": "27097:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "27097:1:136"
                      },
                      {
                        "name": "y",
                        "nativeSrc": "27100:1:136",
                        "nodeType": "YulIdentifier",
                        "src": "27100:1:136"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "27093:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "27093:3:136"
                    },
                    "nativeSrc": "27093:9:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27093:9:136"
                  },
                  "variableNames": [
                    {
                      "name": "product",
                      "nativeSrc": "27082:7:136",
                      "nodeType": "YulIdentifier",
                      "src": "27082:7:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27160:22:136",
                    "nodeType": "YulBlock",
                    "src": "27160:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "27162:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "27162:16:136"
                          },
                          "nativeSrc": "27162:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27162:18:136"
                        },
                        "nativeSrc": "27162:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "27162:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "x",
                                "nativeSrc": "27131:1:136",
                                "nodeType": "YulIdentifier",
                                "src": "27131:1:136"
                              }
                            ],
                            "functionName": {
                              "name": "iszero",
                              "nativeSrc": "27124:6:136",
                              "nodeType": "YulIdentifier",
                              "src": "27124:6:136"
                            },
                            "nativeSrc": "27124:9:136",
                            "nodeType": "YulFunctionCall",
                            "src": "27124:9:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "y",
                                "nativeSrc": "27138:1:136",
                                "nodeType": "YulIdentifier",
                                "src": "27138:1:136"
                              },
                              {
                                "arguments": [
                                  {
                                    "name": "product",
                                    "nativeSrc": "27145:7:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "27145:7:136"
                                  },
                                  {
                                    "name": "x",
                                    "nativeSrc": "27154:1:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "27154:1:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "div",
                                  "nativeSrc": "27141:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "27141:3:136"
                                },
                                "nativeSrc": "27141:15:136",
                                "nodeType": "YulFunctionCall",
                                "src": "27141:15:136"
                              }
                            ],
                            "functionName": {
                              "name": "eq",
                              "nativeSrc": "27135:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "27135:2:136"
                            },
                            "nativeSrc": "27135:22:136",
                            "nodeType": "YulFunctionCall",
                            "src": "27135:22:136"
                          }
                        ],
                        "functionName": {
                          "name": "or",
                          "nativeSrc": "27121:2:136",
                          "nodeType": "YulIdentifier",
                          "src": "27121:2:136"
                        },
                        "nativeSrc": "27121:37:136",
                        "nodeType": "YulFunctionCall",
                        "src": "27121:37:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "27114:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27114:6:136"
                    },
                    "nativeSrc": "27114:45:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27114:45:136"
                  },
                  "nativeSrc": "27111:71:136",
                  "nodeType": "YulIf",
                  "src": "27111:71:136"
                }
              ]
            },
            "name": "checked_mul_t_uint256",
            "nativeSrc": "27020:168:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "x",
                "nativeSrc": "27051:1:136",
                "nodeType": "YulTypedName",
                "src": "27051:1:136",
                "type": ""
              },
              {
                "name": "y",
                "nativeSrc": "27054:1:136",
                "nodeType": "YulTypedName",
                "src": "27054:1:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "product",
                "nativeSrc": "27060:7:136",
                "nodeType": "YulTypedName",
                "src": "27060:7:136",
                "type": ""
              }
            ],
            "src": "27020:168:136"
          },
          {
            "body": {
              "nativeSrc": "27262:306:136",
              "nodeType": "YulBlock",
              "src": "27262:306:136",
              "statements": [
                {
                  "nativeSrc": "27272:10:136",
                  "nodeType": "YulAssignment",
                  "src": "27272:10:136",
                  "value": {
                    "kind": "number",
                    "nativeSrc": "27281:1:136",
                    "nodeType": "YulLiteral",
                    "src": "27281:1:136",
                    "type": "",
                    "value": "1"
                  },
                  "variableNames": [
                    {
                      "name": "power",
                      "nativeSrc": "27272:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "27272:5:136"
                    }
                  ]
                },
                {
                  "nativeSrc": "27291:13:136",
                  "nodeType": "YulAssignment",
                  "src": "27291:13:136",
                  "value": {
                    "name": "_base",
                    "nativeSrc": "27299:5:136",
                    "nodeType": "YulIdentifier",
                    "src": "27299:5:136"
                  },
                  "variableNames": [
                    {
                      "name": "base",
                      "nativeSrc": "27291:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "27291:4:136"
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "27349:213:136",
                    "nodeType": "YulBlock",
                    "src": "27349:213:136",
                    "statements": [
                      {
                        "body": {
                          "nativeSrc": "27391:22:136",
                          "nodeType": "YulBlock",
                          "src": "27391:22:136",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [],
                                "functionName": {
                                  "name": "panic_error_0x11",
                                  "nativeSrc": "27393:16:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "27393:16:136"
                                },
                                "nativeSrc": "27393:18:136",
                                "nodeType": "YulFunctionCall",
                                "src": "27393:18:136"
                              },
                              "nativeSrc": "27393:18:136",
                              "nodeType": "YulExpressionStatement",
                              "src": "27393:18:136"
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "base",
                              "nativeSrc": "27369:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "27369:4:136"
                            },
                            {
                              "arguments": [
                                {
                                  "name": "max",
                                  "nativeSrc": "27379:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "27379:3:136"
                                },
                                {
                                  "name": "base",
                                  "nativeSrc": "27384:4:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "27384:4:136"
                                }
                              ],
                              "functionName": {
                                "name": "div",
                                "nativeSrc": "27375:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "27375:3:136"
                              },
                              "nativeSrc": "27375:14:136",
                              "nodeType": "YulFunctionCall",
                              "src": "27375:14:136"
                            }
                          ],
                          "functionName": {
                            "name": "gt",
                            "nativeSrc": "27366:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "27366:2:136"
                          },
                          "nativeSrc": "27366:24:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27366:24:136"
                        },
                        "nativeSrc": "27363:50:136",
                        "nodeType": "YulIf",
                        "src": "27363:50:136"
                      },
                      {
                        "body": {
                          "nativeSrc": "27446:29:136",
                          "nodeType": "YulBlock",
                          "src": "27446:29:136",
                          "statements": [
                            {
                              "nativeSrc": "27448:25:136",
                              "nodeType": "YulAssignment",
                              "src": "27448:25:136",
                              "value": {
                                "arguments": [
                                  {
                                    "name": "power",
                                    "nativeSrc": "27461:5:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "27461:5:136"
                                  },
                                  {
                                    "name": "base",
                                    "nativeSrc": "27468:4:136",
                                    "nodeType": "YulIdentifier",
                                    "src": "27468:4:136"
                                  }
                                ],
                                "functionName": {
                                  "name": "mul",
                                  "nativeSrc": "27457:3:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "27457:3:136"
                                },
                                "nativeSrc": "27457:16:136",
                                "nodeType": "YulFunctionCall",
                                "src": "27457:16:136"
                              },
                              "variableNames": [
                                {
                                  "name": "power",
                                  "nativeSrc": "27448:5:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "27448:5:136"
                                }
                              ]
                            }
                          ]
                        },
                        "condition": {
                          "arguments": [
                            {
                              "name": "exponent",
                              "nativeSrc": "27433:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "27433:8:136"
                            },
                            {
                              "kind": "number",
                              "nativeSrc": "27443:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27443:1:136",
                              "type": "",
                              "value": "1"
                            }
                          ],
                          "functionName": {
                            "name": "and",
                            "nativeSrc": "27429:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "27429:3:136"
                          },
                          "nativeSrc": "27429:16:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27429:16:136"
                        },
                        "nativeSrc": "27426:49:136",
                        "nodeType": "YulIf",
                        "src": "27426:49:136"
                      },
                      {
                        "nativeSrc": "27488:23:136",
                        "nodeType": "YulAssignment",
                        "src": "27488:23:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "base",
                              "nativeSrc": "27500:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "27500:4:136"
                            },
                            {
                              "name": "base",
                              "nativeSrc": "27506:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "27506:4:136"
                            }
                          ],
                          "functionName": {
                            "name": "mul",
                            "nativeSrc": "27496:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "27496:3:136"
                          },
                          "nativeSrc": "27496:15:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27496:15:136"
                        },
                        "variableNames": [
                          {
                            "name": "base",
                            "nativeSrc": "27488:4:136",
                            "nodeType": "YulIdentifier",
                            "src": "27488:4:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "27524:28:136",
                        "nodeType": "YulAssignment",
                        "src": "27524:28:136",
                        "value": {
                          "arguments": [
                            {
                              "kind": "number",
                              "nativeSrc": "27540:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27540:1:136",
                              "type": "",
                              "value": "1"
                            },
                            {
                              "name": "exponent",
                              "nativeSrc": "27543:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "27543:8:136"
                            }
                          ],
                          "functionName": {
                            "name": "shr",
                            "nativeSrc": "27536:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "27536:3:136"
                          },
                          "nativeSrc": "27536:16:136",
                          "nodeType": "YulFunctionCall",
                          "src": "27536:16:136"
                        },
                        "variableNames": [
                          {
                            "name": "exponent",
                            "nativeSrc": "27524:8:136",
                            "nodeType": "YulIdentifier",
                            "src": "27524:8:136"
                          }
                        ]
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "exponent",
                        "nativeSrc": "27324:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "27324:8:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "27334:1:136",
                        "nodeType": "YulLiteral",
                        "src": "27334:1:136",
                        "type": "",
                        "value": "1"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "27321:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "27321:2:136"
                    },
                    "nativeSrc": "27321:15:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27321:15:136"
                  },
                  "nativeSrc": "27313:249:136",
                  "nodeType": "YulForLoop",
                  "post": {
                    "nativeSrc": "27337:3:136",
                    "nodeType": "YulBlock",
                    "src": "27337:3:136",
                    "statements": []
                  },
                  "pre": {
                    "nativeSrc": "27317:3:136",
                    "nodeType": "YulBlock",
                    "src": "27317:3:136",
                    "statements": []
                  },
                  "src": "27313:249:136"
                }
              ]
            },
            "name": "checked_exp_helper",
            "nativeSrc": "27193:375:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "_base",
                "nativeSrc": "27221:5:136",
                "nodeType": "YulTypedName",
                "src": "27221:5:136",
                "type": ""
              },
              {
                "name": "exponent",
                "nativeSrc": "27228:8:136",
                "nodeType": "YulTypedName",
                "src": "27228:8:136",
                "type": ""
              },
              {
                "name": "max",
                "nativeSrc": "27238:3:136",
                "nodeType": "YulTypedName",
                "src": "27238:3:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "power",
                "nativeSrc": "27246:5:136",
                "nodeType": "YulTypedName",
                "src": "27246:5:136",
                "type": ""
              },
              {
                "name": "base",
                "nativeSrc": "27253:4:136",
                "nodeType": "YulTypedName",
                "src": "27253:4:136",
                "type": ""
              }
            ],
            "src": "27193:375:136"
          },
          {
            "body": {
              "nativeSrc": "27632:843:136",
              "nodeType": "YulBlock",
              "src": "27632:843:136",
              "statements": [
                {
                  "body": {
                    "nativeSrc": "27670:52:136",
                    "nodeType": "YulBlock",
                    "src": "27670:52:136",
                    "statements": [
                      {
                        "nativeSrc": "27684:10:136",
                        "nodeType": "YulAssignment",
                        "src": "27684:10:136",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "27693:1:136",
                          "nodeType": "YulLiteral",
                          "src": "27693:1:136",
                          "type": "",
                          "value": "1"
                        },
                        "variableNames": [
                          {
                            "name": "power",
                            "nativeSrc": "27684:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "27684:5:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "27707:5:136",
                        "nodeType": "YulLeave",
                        "src": "27707:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "exponent",
                        "nativeSrc": "27652:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "27652:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "27645:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27645:6:136"
                    },
                    "nativeSrc": "27645:16:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27645:16:136"
                  },
                  "nativeSrc": "27642:80:136",
                  "nodeType": "YulIf",
                  "src": "27642:80:136"
                },
                {
                  "body": {
                    "nativeSrc": "27755:52:136",
                    "nodeType": "YulBlock",
                    "src": "27755:52:136",
                    "statements": [
                      {
                        "nativeSrc": "27769:10:136",
                        "nodeType": "YulAssignment",
                        "src": "27769:10:136",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "27778:1:136",
                          "nodeType": "YulLiteral",
                          "src": "27778:1:136",
                          "type": "",
                          "value": "0"
                        },
                        "variableNames": [
                          {
                            "name": "power",
                            "nativeSrc": "27769:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "27769:5:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "27792:5:136",
                        "nodeType": "YulLeave",
                        "src": "27792:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "base",
                        "nativeSrc": "27741:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "27741:4:136"
                      }
                    ],
                    "functionName": {
                      "name": "iszero",
                      "nativeSrc": "27734:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "27734:6:136"
                    },
                    "nativeSrc": "27734:12:136",
                    "nodeType": "YulFunctionCall",
                    "src": "27734:12:136"
                  },
                  "nativeSrc": "27731:76:136",
                  "nodeType": "YulIf",
                  "src": "27731:76:136"
                },
                {
                  "cases": [
                    {
                      "body": {
                        "nativeSrc": "27843:52:136",
                        "nodeType": "YulBlock",
                        "src": "27843:52:136",
                        "statements": [
                          {
                            "nativeSrc": "27857:10:136",
                            "nodeType": "YulAssignment",
                            "src": "27857:10:136",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "27866:1:136",
                              "nodeType": "YulLiteral",
                              "src": "27866:1:136",
                              "type": "",
                              "value": "1"
                            },
                            "variableNames": [
                              {
                                "name": "power",
                                "nativeSrc": "27857:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "27857:5:136"
                              }
                            ]
                          },
                          {
                            "nativeSrc": "27880:5:136",
                            "nodeType": "YulLeave",
                            "src": "27880:5:136"
                          }
                        ]
                      },
                      "nativeSrc": "27836:59:136",
                      "nodeType": "YulCase",
                      "src": "27836:59:136",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "27841:1:136",
                        "nodeType": "YulLiteral",
                        "src": "27841:1:136",
                        "type": "",
                        "value": "1"
                      }
                    },
                    {
                      "body": {
                        "nativeSrc": "27911:167:136",
                        "nodeType": "YulBlock",
                        "src": "27911:167:136",
                        "statements": [
                          {
                            "body": {
                              "nativeSrc": "27946:22:136",
                              "nodeType": "YulBlock",
                              "src": "27946:22:136",
                              "statements": [
                                {
                                  "expression": {
                                    "arguments": [],
                                    "functionName": {
                                      "name": "panic_error_0x11",
                                      "nativeSrc": "27948:16:136",
                                      "nodeType": "YulIdentifier",
                                      "src": "27948:16:136"
                                    },
                                    "nativeSrc": "27948:18:136",
                                    "nodeType": "YulFunctionCall",
                                    "src": "27948:18:136"
                                  },
                                  "nativeSrc": "27948:18:136",
                                  "nodeType": "YulExpressionStatement",
                                  "src": "27948:18:136"
                                }
                              ]
                            },
                            "condition": {
                              "arguments": [
                                {
                                  "name": "exponent",
                                  "nativeSrc": "27931:8:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "27931:8:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "27941:3:136",
                                  "nodeType": "YulLiteral",
                                  "src": "27941:3:136",
                                  "type": "",
                                  "value": "255"
                                }
                              ],
                              "functionName": {
                                "name": "gt",
                                "nativeSrc": "27928:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "27928:2:136"
                              },
                              "nativeSrc": "27928:17:136",
                              "nodeType": "YulFunctionCall",
                              "src": "27928:17:136"
                            },
                            "nativeSrc": "27925:43:136",
                            "nodeType": "YulIf",
                            "src": "27925:43:136"
                          },
                          {
                            "nativeSrc": "27981:25:136",
                            "nodeType": "YulAssignment",
                            "src": "27981:25:136",
                            "value": {
                              "arguments": [
                                {
                                  "name": "exponent",
                                  "nativeSrc": "27994:8:136",
                                  "nodeType": "YulIdentifier",
                                  "src": "27994:8:136"
                                },
                                {
                                  "kind": "number",
                                  "nativeSrc": "28004:1:136",
                                  "nodeType": "YulLiteral",
                                  "src": "28004:1:136",
                                  "type": "",
                                  "value": "1"
                                }
                              ],
                              "functionName": {
                                "name": "shl",
                                "nativeSrc": "27990:3:136",
                                "nodeType": "YulIdentifier",
                                "src": "27990:3:136"
                              },
                              "nativeSrc": "27990:16:136",
                              "nodeType": "YulFunctionCall",
                              "src": "27990:16:136"
                            },
                            "variableNames": [
                              {
                                "name": "power",
                                "nativeSrc": "27981:5:136",
                                "nodeType": "YulIdentifier",
                                "src": "27981:5:136"
                              }
                            ]
                          },
                          {
                            "nativeSrc": "28019:11:136",
                            "nodeType": "YulVariableDeclaration",
                            "src": "28019:11:136",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "28029:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28029:1:136",
                              "type": "",
                              "value": "0"
                            },
                            "variables": [
                              {
                                "name": "_1",
                                "nativeSrc": "28023:2:136",
                                "nodeType": "YulTypedName",
                                "src": "28023:2:136",
                                "type": ""
                              }
                            ]
                          },
                          {
                            "nativeSrc": "28043:7:136",
                            "nodeType": "YulAssignment",
                            "src": "28043:7:136",
                            "value": {
                              "kind": "number",
                              "nativeSrc": "28049:1:136",
                              "nodeType": "YulLiteral",
                              "src": "28049:1:136",
                              "type": "",
                              "value": "0"
                            },
                            "variableNames": [
                              {
                                "name": "_1",
                                "nativeSrc": "28043:2:136",
                                "nodeType": "YulIdentifier",
                                "src": "28043:2:136"
                              }
                            ]
                          },
                          {
                            "nativeSrc": "28063:5:136",
                            "nodeType": "YulLeave",
                            "src": "28063:5:136"
                          }
                        ]
                      },
                      "nativeSrc": "27904:174:136",
                      "nodeType": "YulCase",
                      "src": "27904:174:136",
                      "value": {
                        "kind": "number",
                        "nativeSrc": "27909:1:136",
                        "nodeType": "YulLiteral",
                        "src": "27909:1:136",
                        "type": "",
                        "value": "2"
                      }
                    }
                  ],
                  "expression": {
                    "name": "base",
                    "nativeSrc": "27823:4:136",
                    "nodeType": "YulIdentifier",
                    "src": "27823:4:136"
                  },
                  "nativeSrc": "27816:262:136",
                  "nodeType": "YulSwitch",
                  "src": "27816:262:136"
                },
                {
                  "body": {
                    "nativeSrc": "28176:114:136",
                    "nodeType": "YulBlock",
                    "src": "28176:114:136",
                    "statements": [
                      {
                        "nativeSrc": "28190:28:136",
                        "nodeType": "YulAssignment",
                        "src": "28190:28:136",
                        "value": {
                          "arguments": [
                            {
                              "name": "base",
                              "nativeSrc": "28203:4:136",
                              "nodeType": "YulIdentifier",
                              "src": "28203:4:136"
                            },
                            {
                              "name": "exponent",
                              "nativeSrc": "28209:8:136",
                              "nodeType": "YulIdentifier",
                              "src": "28209:8:136"
                            }
                          ],
                          "functionName": {
                            "name": "exp",
                            "nativeSrc": "28199:3:136",
                            "nodeType": "YulIdentifier",
                            "src": "28199:3:136"
                          },
                          "nativeSrc": "28199:19:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28199:19:136"
                        },
                        "variableNames": [
                          {
                            "name": "power",
                            "nativeSrc": "28190:5:136",
                            "nodeType": "YulIdentifier",
                            "src": "28190:5:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "28231:11:136",
                        "nodeType": "YulVariableDeclaration",
                        "src": "28231:11:136",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "28241:1:136",
                          "nodeType": "YulLiteral",
                          "src": "28241:1:136",
                          "type": "",
                          "value": "0"
                        },
                        "variables": [
                          {
                            "name": "_2",
                            "nativeSrc": "28235:2:136",
                            "nodeType": "YulTypedName",
                            "src": "28235:2:136",
                            "type": ""
                          }
                        ]
                      },
                      {
                        "nativeSrc": "28255:7:136",
                        "nodeType": "YulAssignment",
                        "src": "28255:7:136",
                        "value": {
                          "kind": "number",
                          "nativeSrc": "28261:1:136",
                          "nodeType": "YulLiteral",
                          "src": "28261:1:136",
                          "type": "",
                          "value": "0"
                        },
                        "variableNames": [
                          {
                            "name": "_2",
                            "nativeSrc": "28255:2:136",
                            "nodeType": "YulIdentifier",
                            "src": "28255:2:136"
                          }
                        ]
                      },
                      {
                        "nativeSrc": "28275:5:136",
                        "nodeType": "YulLeave",
                        "src": "28275:5:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "base",
                                "nativeSrc": "28100:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "28100:4:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28106:2:136",
                                "nodeType": "YulLiteral",
                                "src": "28106:2:136",
                                "type": "",
                                "value": "11"
                              }
                            ],
                            "functionName": {
                              "name": "lt",
                              "nativeSrc": "28097:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "28097:2:136"
                            },
                            "nativeSrc": "28097:12:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28097:12:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "exponent",
                                "nativeSrc": "28114:8:136",
                                "nodeType": "YulIdentifier",
                                "src": "28114:8:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28124:2:136",
                                "nodeType": "YulLiteral",
                                "src": "28124:2:136",
                                "type": "",
                                "value": "78"
                              }
                            ],
                            "functionName": {
                              "name": "lt",
                              "nativeSrc": "28111:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "28111:2:136"
                            },
                            "nativeSrc": "28111:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28111:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28093:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28093:3:136"
                        },
                        "nativeSrc": "28093:35:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28093:35:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "name": "base",
                                "nativeSrc": "28137:4:136",
                                "nodeType": "YulIdentifier",
                                "src": "28137:4:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28143:3:136",
                                "nodeType": "YulLiteral",
                                "src": "28143:3:136",
                                "type": "",
                                "value": "307"
                              }
                            ],
                            "functionName": {
                              "name": "lt",
                              "nativeSrc": "28134:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "28134:2:136"
                            },
                            "nativeSrc": "28134:13:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28134:13:136"
                          },
                          {
                            "arguments": [
                              {
                                "name": "exponent",
                                "nativeSrc": "28152:8:136",
                                "nodeType": "YulIdentifier",
                                "src": "28152:8:136"
                              },
                              {
                                "kind": "number",
                                "nativeSrc": "28162:2:136",
                                "nodeType": "YulLiteral",
                                "src": "28162:2:136",
                                "type": "",
                                "value": "32"
                              }
                            ],
                            "functionName": {
                              "name": "lt",
                              "nativeSrc": "28149:2:136",
                              "nodeType": "YulIdentifier",
                              "src": "28149:2:136"
                            },
                            "nativeSrc": "28149:16:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28149:16:136"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28130:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28130:3:136"
                        },
                        "nativeSrc": "28130:36:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28130:36:136"
                      }
                    ],
                    "functionName": {
                      "name": "or",
                      "nativeSrc": "28090:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "28090:2:136"
                    },
                    "nativeSrc": "28090:77:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28090:77:136"
                  },
                  "nativeSrc": "28087:203:136",
                  "nodeType": "YulIf",
                  "src": "28087:203:136"
                },
                {
                  "nativeSrc": "28299:65:136",
                  "nodeType": "YulVariableDeclaration",
                  "src": "28299:65:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "base",
                        "nativeSrc": "28341:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "28341:4:136"
                      },
                      {
                        "name": "exponent",
                        "nativeSrc": "28347:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "28347:8:136"
                      },
                      {
                        "arguments": [
                          {
                            "kind": "number",
                            "nativeSrc": "28361:1:136",
                            "nodeType": "YulLiteral",
                            "src": "28361:1:136",
                            "type": "",
                            "value": "0"
                          }
                        ],
                        "functionName": {
                          "name": "not",
                          "nativeSrc": "28357:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28357:3:136"
                        },
                        "nativeSrc": "28357:6:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28357:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "checked_exp_helper",
                      "nativeSrc": "28322:18:136",
                      "nodeType": "YulIdentifier",
                      "src": "28322:18:136"
                    },
                    "nativeSrc": "28322:42:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28322:42:136"
                  },
                  "variables": [
                    {
                      "name": "power_1",
                      "nativeSrc": "28303:7:136",
                      "nodeType": "YulTypedName",
                      "src": "28303:7:136",
                      "type": ""
                    },
                    {
                      "name": "base_1",
                      "nativeSrc": "28312:6:136",
                      "nodeType": "YulTypedName",
                      "src": "28312:6:136",
                      "type": ""
                    }
                  ]
                },
                {
                  "body": {
                    "nativeSrc": "28409:22:136",
                    "nodeType": "YulBlock",
                    "src": "28409:22:136",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [],
                          "functionName": {
                            "name": "panic_error_0x11",
                            "nativeSrc": "28411:16:136",
                            "nodeType": "YulIdentifier",
                            "src": "28411:16:136"
                          },
                          "nativeSrc": "28411:18:136",
                          "nodeType": "YulFunctionCall",
                          "src": "28411:18:136"
                        },
                        "nativeSrc": "28411:18:136",
                        "nodeType": "YulExpressionStatement",
                        "src": "28411:18:136"
                      }
                    ]
                  },
                  "condition": {
                    "arguments": [
                      {
                        "name": "power_1",
                        "nativeSrc": "28379:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "28379:7:136"
                      },
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "kind": "number",
                                "nativeSrc": "28396:1:136",
                                "nodeType": "YulLiteral",
                                "src": "28396:1:136",
                                "type": "",
                                "value": "0"
                              }
                            ],
                            "functionName": {
                              "name": "not",
                              "nativeSrc": "28392:3:136",
                              "nodeType": "YulIdentifier",
                              "src": "28392:3:136"
                            },
                            "nativeSrc": "28392:6:136",
                            "nodeType": "YulFunctionCall",
                            "src": "28392:6:136"
                          },
                          {
                            "name": "base_1",
                            "nativeSrc": "28400:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28400:6:136"
                          }
                        ],
                        "functionName": {
                          "name": "div",
                          "nativeSrc": "28388:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28388:3:136"
                        },
                        "nativeSrc": "28388:19:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28388:19:136"
                      }
                    ],
                    "functionName": {
                      "name": "gt",
                      "nativeSrc": "28376:2:136",
                      "nodeType": "YulIdentifier",
                      "src": "28376:2:136"
                    },
                    "nativeSrc": "28376:32:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28376:32:136"
                  },
                  "nativeSrc": "28373:58:136",
                  "nodeType": "YulIf",
                  "src": "28373:58:136"
                },
                {
                  "nativeSrc": "28440:29:136",
                  "nodeType": "YulAssignment",
                  "src": "28440:29:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "power_1",
                        "nativeSrc": "28453:7:136",
                        "nodeType": "YulIdentifier",
                        "src": "28453:7:136"
                      },
                      {
                        "name": "base_1",
                        "nativeSrc": "28462:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "28462:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mul",
                      "nativeSrc": "28449:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28449:3:136"
                    },
                    "nativeSrc": "28449:20:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28449:20:136"
                  },
                  "variableNames": [
                    {
                      "name": "power",
                      "nativeSrc": "28440:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "28440:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "checked_exp_unsigned",
            "nativeSrc": "27573:902:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base",
                "nativeSrc": "27603:4:136",
                "nodeType": "YulTypedName",
                "src": "27603:4:136",
                "type": ""
              },
              {
                "name": "exponent",
                "nativeSrc": "27609:8:136",
                "nodeType": "YulTypedName",
                "src": "27609:8:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "power",
                "nativeSrc": "27622:5:136",
                "nodeType": "YulTypedName",
                "src": "27622:5:136",
                "type": ""
              }
            ],
            "src": "27573:902:136"
          },
          {
            "body": {
              "nativeSrc": "28550:61:136",
              "nodeType": "YulBlock",
              "src": "28550:61:136",
              "statements": [
                {
                  "nativeSrc": "28560:45:136",
                  "nodeType": "YulAssignment",
                  "src": "28560:45:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "base",
                        "nativeSrc": "28590:4:136",
                        "nodeType": "YulIdentifier",
                        "src": "28590:4:136"
                      },
                      {
                        "name": "exponent",
                        "nativeSrc": "28596:8:136",
                        "nodeType": "YulIdentifier",
                        "src": "28596:8:136"
                      }
                    ],
                    "functionName": {
                      "name": "checked_exp_unsigned",
                      "nativeSrc": "28569:20:136",
                      "nodeType": "YulIdentifier",
                      "src": "28569:20:136"
                    },
                    "nativeSrc": "28569:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28569:36:136"
                  },
                  "variableNames": [
                    {
                      "name": "power",
                      "nativeSrc": "28560:5:136",
                      "nodeType": "YulIdentifier",
                      "src": "28560:5:136"
                    }
                  ]
                }
              ]
            },
            "name": "checked_exp_t_uint256_t_uint256",
            "nativeSrc": "28480:131:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "base",
                "nativeSrc": "28521:4:136",
                "nodeType": "YulTypedName",
                "src": "28521:4:136",
                "type": ""
              },
              {
                "name": "exponent",
                "nativeSrc": "28527:8:136",
                "nodeType": "YulTypedName",
                "src": "28527:8:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "power",
                "nativeSrc": "28540:5:136",
                "nodeType": "YulTypedName",
                "src": "28540:5:136",
                "type": ""
              }
            ],
            "src": "28480:131:136"
          },
          {
            "body": {
              "nativeSrc": "28715:87:136",
              "nodeType": "YulBlock",
              "src": "28715:87:136",
              "statements": [
                {
                  "nativeSrc": "28725:26:136",
                  "nodeType": "YulAssignment",
                  "src": "28725:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28737:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "28737:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28748:2:136",
                        "nodeType": "YulLiteral",
                        "src": "28748:2:136",
                        "type": "",
                        "value": "32"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28733:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28733:3:136"
                    },
                    "nativeSrc": "28733:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28733:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "28725:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "28725:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28767:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "28767:9:136"
                      },
                      {
                        "arguments": [
                          {
                            "name": "value0",
                            "nativeSrc": "28782:6:136",
                            "nodeType": "YulIdentifier",
                            "src": "28782:6:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "28790:4:136",
                            "nodeType": "YulLiteral",
                            "src": "28790:4:136",
                            "type": "",
                            "value": "0xff"
                          }
                        ],
                        "functionName": {
                          "name": "and",
                          "nativeSrc": "28778:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "28778:3:136"
                        },
                        "nativeSrc": "28778:17:136",
                        "nodeType": "YulFunctionCall",
                        "src": "28778:17:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28760:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28760:6:136"
                    },
                    "nativeSrc": "28760:36:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28760:36:136"
                  },
                  "nativeSrc": "28760:36:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28760:36:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed",
            "nativeSrc": "28616:186:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28684:9:136",
                "nodeType": "YulTypedName",
                "src": "28684:9:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "28695:6:136",
                "nodeType": "YulTypedName",
                "src": "28695:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "28706:4:136",
                "nodeType": "YulTypedName",
                "src": "28706:4:136",
                "type": ""
              }
            ],
            "src": "28616:186:136"
          },
          {
            "body": {
              "nativeSrc": "28936:119:136",
              "nodeType": "YulBlock",
              "src": "28936:119:136",
              "statements": [
                {
                  "nativeSrc": "28946:26:136",
                  "nodeType": "YulAssignment",
                  "src": "28946:26:136",
                  "value": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28958:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "28958:9:136"
                      },
                      {
                        "kind": "number",
                        "nativeSrc": "28969:2:136",
                        "nodeType": "YulLiteral",
                        "src": "28969:2:136",
                        "type": "",
                        "value": "64"
                      }
                    ],
                    "functionName": {
                      "name": "add",
                      "nativeSrc": "28954:3:136",
                      "nodeType": "YulIdentifier",
                      "src": "28954:3:136"
                    },
                    "nativeSrc": "28954:18:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28954:18:136"
                  },
                  "variableNames": [
                    {
                      "name": "tail",
                      "nativeSrc": "28946:4:136",
                      "nodeType": "YulIdentifier",
                      "src": "28946:4:136"
                    }
                  ]
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "name": "headStart",
                        "nativeSrc": "28988:9:136",
                        "nodeType": "YulIdentifier",
                        "src": "28988:9:136"
                      },
                      {
                        "name": "value0",
                        "nativeSrc": "28999:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "28999:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "28981:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "28981:6:136"
                    },
                    "nativeSrc": "28981:25:136",
                    "nodeType": "YulFunctionCall",
                    "src": "28981:25:136"
                  },
                  "nativeSrc": "28981:25:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "28981:25:136"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "name": "headStart",
                            "nativeSrc": "29026:9:136",
                            "nodeType": "YulIdentifier",
                            "src": "29026:9:136"
                          },
                          {
                            "kind": "number",
                            "nativeSrc": "29037:2:136",
                            "nodeType": "YulLiteral",
                            "src": "29037:2:136",
                            "type": "",
                            "value": "32"
                          }
                        ],
                        "functionName": {
                          "name": "add",
                          "nativeSrc": "29022:3:136",
                          "nodeType": "YulIdentifier",
                          "src": "29022:3:136"
                        },
                        "nativeSrc": "29022:18:136",
                        "nodeType": "YulFunctionCall",
                        "src": "29022:18:136"
                      },
                      {
                        "name": "value1",
                        "nativeSrc": "29042:6:136",
                        "nodeType": "YulIdentifier",
                        "src": "29042:6:136"
                      }
                    ],
                    "functionName": {
                      "name": "mstore",
                      "nativeSrc": "29015:6:136",
                      "nodeType": "YulIdentifier",
                      "src": "29015:6:136"
                    },
                    "nativeSrc": "29015:34:136",
                    "nodeType": "YulFunctionCall",
                    "src": "29015:34:136"
                  },
                  "nativeSrc": "29015:34:136",
                  "nodeType": "YulExpressionStatement",
                  "src": "29015:34:136"
                }
              ]
            },
            "name": "abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed",
            "nativeSrc": "28807:248:136",
            "nodeType": "YulFunctionDefinition",
            "parameters": [
              {
                "name": "headStart",
                "nativeSrc": "28897:9:136",
                "nodeType": "YulTypedName",
                "src": "28897:9:136",
                "type": ""
              },
              {
                "name": "value1",
                "nativeSrc": "28908:6:136",
                "nodeType": "YulTypedName",
                "src": "28908:6:136",
                "type": ""
              },
              {
                "name": "value0",
                "nativeSrc": "28916:6:136",
                "nodeType": "YulTypedName",
                "src": "28916:6:136",
                "type": ""
              }
            ],
            "returnVariables": [
              {
                "name": "tail",
                "nativeSrc": "28927:4:136",
                "nodeType": "YulTypedName",
                "src": "28927:4:136",
                "type": ""
              }
            ],
            "src": "28807:248:136"
          }
        ]
      },
      "contents": "{\n    { }\n    function abi_encode_string(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        mcopy(add(pos, 0x20), add(value, 0x20), length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_array_bytes32_dyn(value, pos) -> end\n    {\n        let length := mload(value)\n        mstore(pos, length)\n        pos := add(pos, 0x20)\n        let srcPtr := add(value, 0x20)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, mload(srcPtr))\n            pos := add(pos, 0x20)\n            srcPtr := add(srcPtr, 0x20)\n        }\n        end := pos\n    }\n    function abi_encode_tuple_t_array$_t_bytes4_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes32_$dyn_memory_ptr__to_t_array$_t_bytes4_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes32_$dyn_memory_ptr__fromStack_library_reversed(headStart, value2, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 96)\n        mstore(headStart, 96)\n        let pos := tail_1\n        let length := mload(value0)\n        mstore(tail_1, length)\n        pos := add(headStart, 128)\n        let srcPtr := add(value0, 0x20)\n        let i := 0\n        for { } lt(i, length) { i := add(i, 1) }\n        {\n            mstore(pos, and(mload(srcPtr), shl(224, 0xffffffff)))\n            pos := add(pos, 0x20)\n            srcPtr := add(srcPtr, 0x20)\n        }\n        mstore(add(headStart, 0x20), sub(pos, headStart))\n        let pos_1 := pos\n        let length_1 := mload(value1)\n        mstore(pos, length_1)\n        pos_1 := add(pos, 0x20)\n        let tail_2 := add(add(pos, shl(5, length_1)), 0x20)\n        let srcPtr_1 := add(value1, 0x20)\n        let i_1 := 0\n        for { } lt(i_1, length_1) { i_1 := add(i_1, 1) }\n        {\n            mstore(pos_1, add(sub(tail_2, pos), not(31)))\n            tail_2 := abi_encode_string(mload(srcPtr_1), tail_2)\n            srcPtr_1 := add(srcPtr_1, 0x20)\n            pos_1 := add(pos_1, 0x20)\n        }\n        mstore(add(headStart, 64), sub(tail_2, headStart))\n        tail := abi_encode_array_bytes32_dyn(value2, tail_2)\n    }\n    function abi_decode_string_calldata(offset, end) -> arrayPos, length\n    {\n        if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n        length := calldataload(offset)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        arrayPos := add(offset, 0x20)\n        if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n    }\n    function validator_revert_address(value)\n    {\n        if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_addresst_array$_t_string_calldata_ptr_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n    {\n        if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let value := calldataload(add(headStart, 32))\n        validator_revert_address(value)\n        value2 := value\n        let offset_1 := calldataload(add(headStart, 64))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset_1)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        let length := calldataload(_1)\n        if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n        if gt(add(add(_1, shl(5, length)), 32), dataEnd) { revert(0, 0) }\n        value3 := add(_1, 32)\n        value4 := length\n    }\n    function validator_revert_bytes4(value)\n    {\n        if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n    }\n    function panic_error_0x41()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x41)\n        revert(0, 0x24)\n    }\n    function allocate_memory() -> memPtr\n    {\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0xc0)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n    }\n    function allocate_memory_3780() -> memPtr\n    {\n        memPtr := mload(0x40)\n        let newFreePtr := add(memPtr, 0x40)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(0x40, newFreePtr)\n    }\n    function abi_decode_uint16(offset) -> value\n    {\n        value := calldataload(offset)\n        if iszero(eq(value, and(value, 0xffff))) { revert(0, 0) }\n    }\n    function validator_revert_uint64(value)\n    {\n        if iszero(eq(value, and(value, 0xffffffffffffffff))) { revert(0, 0) }\n    }\n    function abi_decode_tuple_t_contract$_IWitOracleQueriable_$26795t_bytes4t_struct$_QuerySLA_$37373_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        let _1 := sub(dataEnd, headStart)\n        if slt(_1, 192) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_bytes4(value_1)\n        value1 := value_1\n        if slt(add(_1, not(63)), 0x60) { revert(0, 0) }\n        let memPtr := 0\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 0x60)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        mstore(memPtr, abi_decode_uint16(add(headStart, 64)))\n        mstore(add(memPtr, 32), abi_decode_uint16(add(headStart, 0x60)))\n        let value_2 := calldataload(add(headStart, 128))\n        validator_revert_uint64(value_2)\n        mstore(add(memPtr, 64), value_2)\n        value2 := memPtr\n        value3 := calldataload(add(headStart, 160))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_library_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n    function abi_decode_tuple_t_string_calldata_ptrt_bytes32(headStart, dataEnd) -> value0, value1, value2\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        value2 := calldataload(add(headStart, 32))\n    }\n    function abi_decode_tuple_t_contract$_IWitOracleQueriable_$26795t_bytes4(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let value := calldataload(headStart)\n        validator_revert_address(value)\n        value0 := value\n        let value_1 := calldataload(add(headStart, 32))\n        validator_revert_bytes4(value_1)\n        value1 := value_1\n    }\n    function panic_error_0x21()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x21)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_struct$_Price_$29489_memory_ptr__to_t_struct$_Price_$29489_memory_ptr__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, and(mload(value0), 0xffffffffffffffff))\n        mstore(add(headStart, 0x20), and(mload(add(value0, 0x20)), 0xffffffffffffffff))\n        mstore(add(headStart, 0x40), mload(add(value0, 0x40)))\n        let memberValue0 := mload(add(value0, 0x60))\n        if iszero(lt(memberValue0, 4))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x21)\n            revert(0, 0x24)\n        }\n        mstore(add(headStart, 0x60), memberValue0)\n    }\n    function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n    }\n    function abi_decode_tuple_t_bytes_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n    {\n        if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n        let offset := calldataload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n        value0 := value0_1\n        value1 := value1_1\n        let offset_1 := calldataload(add(headStart, 32))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n        value2 := value2_1\n        value3 := value3_1\n    }\n    function abi_encode_tuple_t_address__to_t_address__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_library_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function panic_error_0x32()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x32)\n        revert(0, 0x24)\n    }\n    function extract_byte_array_length(data) -> length\n    {\n        length := shr(1, data)\n        let outOfPlaceEncoding := and(data, 1)\n        if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n        if eq(outOfPlaceEncoding, lt(length, 32))\n        {\n            mstore(0, shl(224, 0x4e487b71))\n            mstore(4, 0x22)\n            revert(0, 0x24)\n        }\n    }\n    function array_dataslot_string_storage(ptr) -> data\n    {\n        mstore(0, ptr)\n        data := keccak256(0, 0x20)\n    }\n    function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n    {\n        if gt(len, 31)\n        {\n            mstore(0, array)\n            let data := keccak256(0, 0x20)\n            let deleteStart := add(data, shr(5, add(startIndex, 31)))\n            if lt(startIndex, 0x20) { deleteStart := data }\n            let _1 := add(data, shr(5, add(len, 31)))\n            let start := deleteStart\n            for { } lt(start, _1) { start := add(start, 1) }\n            { sstore(start, 0) }\n        }\n    }\n    function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n    {\n        used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n    }\n    function copy_byte_array_to_storage_from_t_string_calldata_ptr_to_t_string_storage(slot, src, len)\n    {\n        if gt(len, 0xffffffffffffffff) { panic_error_0x41() }\n        clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), len)\n        let srcOffset := 0\n        switch gt(len, 31)\n        case 1 {\n            let loopEnd := and(len, not(31))\n            let dstPtr := array_dataslot_string_storage(slot)\n            let i := 0\n            for { } lt(i, loopEnd) { i := add(i, 0x20) }\n            {\n                sstore(dstPtr, calldataload(add(src, srcOffset)))\n                dstPtr := add(dstPtr, 1)\n                srcOffset := add(srcOffset, 0x20)\n            }\n            if lt(loopEnd, len)\n            {\n                sstore(dstPtr, and(calldataload(add(src, srcOffset)), not(shr(and(shl(3, len), 248), not(0)))))\n            }\n            sstore(slot, add(shl(1, len), 1))\n        }\n        default {\n            let value := 0\n            if len\n            {\n                value := calldataload(add(src, srcOffset))\n            }\n            sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, len))\n        }\n    }\n    function panic_error_0x11()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x11)\n        revert(0, 0x24)\n    }\n    function checked_add_t_uint256(x, y) -> sum\n    {\n        sum := add(x, y)\n        if gt(x, sum) { panic_error_0x11() }\n    }\n    function abi_encode_string_calldata(start, length, pos) -> end\n    {\n        mstore(pos, length)\n        calldatacopy(add(pos, 0x20), start, length)\n        mstore(add(add(pos, length), 0x20), 0)\n        end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n    }\n    function abi_encode_tuple_t_bytes4_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr__to_t_bytes4_t_array$_t_string_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        let tail_1 := add(headStart, 64)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n        mstore(add(headStart, 32), 64)\n        let pos := tail_1\n        mstore(tail_1, value2)\n        pos := add(headStart, 96)\n        let tail_2 := add(add(headStart, shl(5, value2)), 96)\n        let srcPtr := value1\n        let i := 0\n        let _1 := add(sub(calldatasize(), value1), not(30))\n        for { } lt(i, value2) { i := add(i, 1) }\n        {\n            mstore(pos, add(sub(tail_2, headStart), not(95)))\n            let rel_offset_of_tail := calldataload(srcPtr)\n            if iszero(slt(rel_offset_of_tail, _1)) { revert(0, 0) }\n            let value := add(rel_offset_of_tail, value1)\n            let length := calldataload(value)\n            let value_1 := add(value, 32)\n            if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n            if sgt(value_1, sub(calldatasize(), length)) { revert(0, 0) }\n            tail_2 := abi_encode_string_calldata(value_1, length, tail_2)\n            srcPtr := add(srcPtr, 32)\n            pos := add(pos, 32)\n        }\n        tail := tail_2\n    }\n    function abi_encode_bytes(value, pos) -> end\n    {\n        let length := mload(value)\n        mcopy(pos, add(value, 0x20), length)\n        let _1 := add(pos, length)\n        mstore(_1, 0)\n        end := _1\n    }\n    function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        end := abi_encode_bytes(value0, pos)\n    }\n    function abi_decode_available_length_string_fromMemory(src, length, end) -> array\n    {\n        let size := 0\n        if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n        let result := and(add(length, 31), not(31))\n        size := add(result, 0x20)\n        let memPtr := 0\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, and(add(result, 63), not(31)))\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        array := memPtr\n        mstore(memPtr, length)\n        if gt(add(src, length), end) { revert(0, 0) }\n        mcopy(add(memPtr, 0x20), src, length)\n        mstore(add(add(memPtr, length), 0x20), 0)\n    }\n    function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n        value0 := abi_decode_available_length_string_fromMemory(add(_1, 32), mload(_1), dataEnd)\n    }\n    function abi_encode_tuple_packed_t_stringliteral_c101a7f8080752dfbefb390bf90513725646733f85cb57f528eb437562da5424_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"solver validation failed: \")\n        end := abi_encode_bytes(value0, add(pos, 26))\n    }\n    function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n    {\n        mstore(headStart, 32)\n        tail := abi_encode_string(value0, add(headStart, 32))\n    }\n    function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, shl(224, 0xffffffff)))\n    }\n    function abi_encode_tuple_packed_t_stringliteral_7d4ed3f81824e31fe1e562de58eda6343e23b6c2093125ced8f2336f0dde4afb_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n    {\n        mstore(pos, \"smoke-test failed: \")\n        end := abi_encode_bytes(value0, add(pos, 19))\n    }\n    function abi_encode_tuple_t_string_calldata_ptr_t_bytes4_t_address__to_t_string_memory_ptr_t_bytes4_t_address__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 96)\n        tail := abi_encode_string_calldata(value0, value1, add(headStart, 96))\n        mstore(add(headStart, 32), and(value2, shl(224, 0xffffffff)))\n        mstore(add(headStart, 64), and(value3, sub(shl(160, 1), 1)))\n    }\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, value0)\n    }\n    function abi_decode_tuple_t_userDefinedValueType$_QueryEvmReward_$37147_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        if iszero(eq(value, and(value, 0xffffffffffffffffff))) { revert(0, 0) }\n        value0 := value\n    }\n    function checked_sub_t_uint256(x, y) -> diff\n    {\n        diff := sub(x, y)\n        if gt(diff, x) { panic_error_0x11() }\n    }\n    function abi_encode_tuple_t_userDefinedValueType$_RadonHash_$37153_t_struct$_QuerySLA_$37373_memory_ptr__to_t_bytes32_t_struct$_QuerySLA_$37373_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 128)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), and(mload(value1), 0xffff))\n        mstore(add(headStart, 64), and(mload(add(value1, 32)), 0xffff))\n        mstore(add(headStart, 96), and(mload(add(value1, 64)), 0xffffffffffffffff))\n    }\n    function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := 0\n        value := mload(headStart)\n        value0 := value\n    }\n    function abi_encode_tuple_t_string_calldata_ptr_t_bytes4_t_bytes32__to_t_string_memory_ptr_t_bytes4_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 96)\n        tail := abi_encode_string_calldata(value0, value1, add(headStart, 96))\n        mstore(add(headStart, 32), and(value2, shl(224, 0xffffffff)))\n        mstore(add(headStart, 64), value3)\n    }\n    function abi_decode_enum_ResultStatus_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(lt(value, 256)) { revert(0, 0) }\n    }\n    function abi_decode_userDefinedValueType_Timestamp_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        validator_revert_uint64(value)\n    }\n    function abi_decode_uint8_fromMemory(offset) -> value\n    {\n        value := mload(offset)\n        if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n    }\n    function abi_decode_struct_CBOR_fromMemory(headStart, end) -> value\n    {\n        if slt(sub(end, headStart), 0xc0) { revert(0, 0) }\n        value := allocate_memory()\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if slt(sub(end, _1), 0x40) { revert(0, 0) }\n        let value_1 := allocate_memory_3780()\n        let offset_1 := mload(_1)\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        let _2 := add(_1, offset_1)\n        if iszero(slt(add(_2, 0x1f), end)) { revert(0, 0) }\n        mstore(value_1, abi_decode_available_length_string_fromMemory(add(_2, 0x20), mload(_2), end))\n        let value_2 := 0\n        value_2 := mload(add(_1, 0x20))\n        mstore(add(value_1, 0x20), value_2)\n        mstore(value, value_1)\n        mstore(add(value, 0x20), abi_decode_uint8_fromMemory(add(headStart, 0x20)))\n        mstore(add(value, 0x40), abi_decode_uint8_fromMemory(add(headStart, 0x40)))\n        mstore(add(value, 96), abi_decode_uint8_fromMemory(add(headStart, 96)))\n        mstore(add(value, 128), abi_decode_userDefinedValueType_Timestamp_fromMemory(add(headStart, 128)))\n        mstore(add(value, 160), abi_decode_userDefinedValueType_Timestamp_fromMemory(add(headStart, 160)))\n    }\n    function abi_decode_tuple_t_struct$_DataResult_$37293_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let offset := mload(headStart)\n        if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n        let _1 := add(headStart, offset)\n        if slt(sub(dataEnd, _1), 0xc0) { revert(0, 0) }\n        let value := allocate_memory()\n        mstore(value, abi_decode_enum_ResultStatus_fromMemory(_1))\n        let value_1 := mload(add(_1, 32))\n        if iszero(lt(value_1, 20)) { revert(0, 0) }\n        mstore(add(value, 32), value_1)\n        let value_2 := 0\n        value_2 := mload(add(_1, 64))\n        mstore(add(value, 64), value_2)\n        let value_3 := 0\n        value_3 := mload(add(_1, 96))\n        mstore(add(value, 96), value_3)\n        mstore(add(value, 128), abi_decode_userDefinedValueType_Timestamp_fromMemory(add(_1, 128)))\n        let offset_1 := mload(add(_1, 160))\n        if gt(offset_1, 0xffffffffffffffff) { revert(0, 0) }\n        mstore(add(value, 160), abi_decode_struct_CBOR_fromMemory(add(_1, offset_1), dataEnd))\n        value0 := value\n    }\n    function abi_decode_tuple_t_struct$_Price_$29489_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n    {\n        let _1 := slt(sub(dataEnd, headStart), 128)\n        if _1 { revert(0, 0) }\n        _1 := 0\n        let memPtr := 0\n        memPtr := mload(64)\n        let newFreePtr := add(memPtr, 128)\n        if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n        mstore(64, newFreePtr)\n        let value := mload(headStart)\n        validator_revert_uint64(value)\n        mstore(memPtr, value)\n        let value_1 := mload(add(headStart, 32))\n        validator_revert_uint64(value_1)\n        mstore(add(memPtr, 32), value_1)\n        let value_2 := 0\n        value_2 := mload(add(headStart, 64))\n        mstore(add(memPtr, 64), value_2)\n        let value_3 := mload(add(headStart, 96))\n        if iszero(lt(value_3, 4)) { revert(0, 0) }\n        mstore(add(memPtr, 96), value_3)\n        value0 := memPtr\n    }\n    function abi_encode_tuple_t_stringliteral_c94e87ddd6b6ec6ade1b6f4c2ab0b42f2565eebe130a7fb016f7716fc5871c5a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 12)\n        mstore(add(headStart, 64), \"unknown feed\")\n        tail := add(headStart, 96)\n    }\n    function panic_error_0x31()\n    {\n        mstore(0, shl(224, 0x4e487b71))\n        mstore(4, 0x31)\n        revert(0, 0x24)\n    }\n    function abi_encode_tuple_t_string_calldata_ptr_t_bytes4__to_t_string_memory_ptr_t_bytes4__fromStack_reversed(headStart, value2, value1, value0) -> tail\n    {\n        mstore(headStart, 64)\n        tail := abi_encode_string_calldata(value0, value1, add(headStart, 64))\n        mstore(add(headStart, 32), and(value2, shl(224, 0xffffffff)))\n    }\n    function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        let value := mload(headStart)\n        validator_revert_bytes4(value)\n        value0 := value\n    }\n    function abi_encode_tuple_t_stringliteral_47258aa661f16d1b83e6992f426809824b97de6d4c1546080ae22fc060ac6612__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 33)\n        mstore(add(headStart, 64), \"uncompliant solver implementatio\")\n        mstore(add(headStart, 96), \"n\")\n        tail := add(headStart, 128)\n    }\n    function abi_encode_tuple_t_string_memory_ptr_t_bytes4__to_t_string_memory_ptr_t_bytes4__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        mstore(headStart, 64)\n        tail := abi_encode_string(value0, add(headStart, 64))\n        mstore(add(headStart, 32), and(value1, shl(224, 0xffffffff)))\n    }\n    function decrement_t_uint256(value) -> ret\n    {\n        if iszero(value) { panic_error_0x11() }\n        ret := add(value, not(0))\n    }\n    function abi_encode_tuple_t_stringliteral_6d8dc20c0b65a034f73794fa34cd41247fce46ed1ea58582bb13055813593b66__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 12)\n        mstore(add(headStart, 64), \"bad decimals\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_packed_t_bytes1_t_address_t_bytes32_t_bytes32__to_t_bytes1_t_address_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n    {\n        mstore(pos, and(value0, shl(248, 255)))\n        mstore(add(pos, 1), and(shl(96, value1), not(0xffffffffffffffffffffffff)))\n        mstore(add(pos, 21), value2)\n        mstore(add(pos, 53), value3)\n        end := add(pos, 85)\n    }\n    function abi_decode_tuple_t_enum$_ResultStatus_$37698_fromMemory(headStart, dataEnd) -> value0\n    {\n        if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n        value0 := abi_decode_enum_ResultStatus_fromMemory(headStart)\n    }\n    function abi_encode_tuple_t_stringliteral_f9e00dcd71685f8522f8d07872510c3a81c2039687b393455d27e0cdc22dcafa__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n    {\n        mstore(headStart, 32)\n        mstore(add(headStart, 32), 23)\n        mstore(add(headStart, 64), \"cbor: cannot fetch data\")\n        tail := add(headStart, 96)\n    }\n    function abi_encode_tuple_packed_t_bytes_calldata_ptr_t_bytes_calldata_ptr__to_t_bytes_memory_ptr_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n    {\n        calldatacopy(pos, value0, value1)\n        let _1 := add(pos, value1)\n        mstore(_1, 0)\n        calldatacopy(_1, value2, value3)\n        let _2 := add(_1, value3)\n        mstore(_2, 0)\n        end := _2\n    }\n    function increment_t_uint256(value) -> ret\n    {\n        if eq(value, not(0)) { panic_error_0x11() }\n        ret := add(value, 1)\n    }\n    function abi_encode_tuple_t_uint8_t_uint8__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, and(value0, 0xff))\n        mstore(add(headStart, 32), and(value1, 0xff))\n    }\n    function checked_mul_t_uint256(x, y) -> product\n    {\n        product := mul(x, y)\n        if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n    }\n    function checked_exp_helper(_base, exponent, max) -> power, base\n    {\n        power := 1\n        base := _base\n        for { } gt(exponent, 1) { }\n        {\n            if gt(base, div(max, base)) { panic_error_0x11() }\n            if and(exponent, 1) { power := mul(power, base) }\n            base := mul(base, base)\n            exponent := shr(1, exponent)\n        }\n    }\n    function checked_exp_unsigned(base, exponent) -> power\n    {\n        if iszero(exponent)\n        {\n            power := 1\n            leave\n        }\n        if iszero(base)\n        {\n            power := 0\n            leave\n        }\n        switch base\n        case 1 {\n            power := 1\n            leave\n        }\n        case 2 {\n            if gt(exponent, 255) { panic_error_0x11() }\n            power := shl(exponent, 1)\n            let _1 := 0\n            _1 := 0\n            leave\n        }\n        if or(and(lt(base, 11), lt(exponent, 78)), and(lt(base, 307), lt(exponent, 32)))\n        {\n            power := exp(base, exponent)\n            let _2 := 0\n            _2 := 0\n            leave\n        }\n        let power_1, base_1 := checked_exp_helper(base, exponent, not(0))\n        if gt(power_1, div(not(0), base_1)) { panic_error_0x11() }\n        power := mul(power_1, base_1)\n    }\n    function checked_exp_t_uint256_t_uint256(base, exponent) -> power\n    {\n        power := checked_exp_unsigned(base, exponent)\n    }\n    function abi_encode_tuple_t_uint8__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n    {\n        tail := add(headStart, 32)\n        mstore(headStart, and(value0, 0xff))\n    }\n    function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n    {\n        tail := add(headStart, 64)\n        mstore(headStart, value0)\n        mstore(add(headStart, 32), value1)\n    }\n}",
      "id": 136,
      "language": "Yul",
      "name": "#utility.yul"
    }
  ],
  "sourceMap": "394:16891:62:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;394:16891:62;;;;;;;;;;;;;;;;;",
  "deployedSourceMap": "394:16891:62:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13369:690;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;11180:2181;;;;;;;;;;-1:-1:-1;11180:2181:62;;;;;:::i;:::-;;:::i;:::-;;7631:2725;;;;;;;;;;-1:-1:-1;7631:2725:62;;;;;:::i;:::-;;:::i;:::-;;;;6206:25:136;;;6262:2;6247:18;;6240:34;;;;6179:18;7631:2725:62;6024:256:136;10364:808:62;;;;;;;;;;-1:-1:-1;10364:808:62;;;;;:::i;:::-;;:::i;5752:1871::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4761:568::-;;;;;;;;;;-1:-1:-1;4761:568:62;;;;;:::i;:::-;;:::i;14187:994::-;;;;;;;;;;-1:-1:-1;14187:994:62;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;9313:32:136;;;9295:51;;9283:2;9268:18;14187:994:62;9141:211:136;5337:407:62;;;;;;;;;;;;;:::i;15719:578::-;;;;;;:::i;:::-;;:::i;:::-;;;9537:4:136;9525:17;;;9507:36;;9495:2;9480:18;15719:578:62;9357:192:136;15189:522:62;;;;;;:::i;:::-;;:::i;13369:690::-;-1:-1:-1;;;;;;;;;;;13558:17:62;;;;;;;;;;;;;;;;;;;13430:20;;;;;;13558:17;;13565:10;13558:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13558:17:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13611:4;:11;-1:-1:-1;;;;;13598:25:62;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13586:37;;13659:4;:11;-1:-1:-1;;;;;13645:26:62;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13645:26:62;-1:-1:-1;13634:37:62;-1:-1:-1;13687:8:62;13682:370;13707:4;:11;13701:3;:17;13682:370;;;13743:23;13769:21;13780:4;13785:3;13780:9;;;;;;;;:::i;:::-;;;;;;;13769:10;:21::i;:::-;13743:47;;13822:8;:16;;13805:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:9;13815:3;13805:14;;;;;;;;:::i;:::-;;;;;;;;;;:33;13896:15;;;;-1:-1:-1;;;;;13896:15:62;13888:38;:137;;14008:15;;;;14000:24;;-1:-1:-1;;14000:24:62;13888:137;;;13951:8;:16;;;13888:137;13853:8;13862:3;13853:13;;;;;;;;:::i;:::-;;;;;;;;;;:187;-1:-1:-1;13720:6:62;;13682:370;;;;13369:690;;;:::o;11180:2181::-;11355:13;11371;11376:7;;11371:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11371:4:62;;-1:-1:-1;;;11371:13:62:i;:::-;11355:29;;11403:23;11429:18;11440:6;11429:10;:18::i;:::-;11403:44;;11462:8;:14;;;11480:1;11462:19;11458:486;;11531:8;:26;11550:7;;11531:8;:26;:::i;:::-;;11592:24;11608:7;;11592:15;:24::i;:::-;11572:17;;;:44;;-1:-1:-1;;11572:44:62;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;11648:10:62;;;;:17;:21;;;:::i;:::-;11631:14;;;:38;11684:15;;;:24;;-1:-1:-1;;;;;;11684:24:62;-1:-1:-1;;;;;11684:24:62;;;;;-1:-1:-1;;;;;;;;;;;11723:10:62;;;;:23;;;;;;;-1:-1:-1;11723:23:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11458:486;;;11782:15;;;;-1:-1:-1;;;;;11782:25:62;;;:15;;:25;11778:166;;11892:1;11873:16;;;:20;11908:15;;;:24;;-1:-1:-1;;;;;;11908:24:62;-1:-1:-1;;;;;11908:24:62;;;;;11778:166;12087:13;12102:20;12126:6;-1:-1:-1;;;;;12126:19:62;12187:44;;;12250:6;12275:4;;12146:148;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;12146:148:62;;;;;;;;;;;;;;-1:-1:-1;;;;;12146:148:62;-1:-1:-1;;;;;;12146:148:62;;;;;;;;;;12126:169;;;;12146:148;12126:169;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12086:209;;;;12315:8;12310:306;;12400:1;12391:7;12387:15;12376:26;;12561:7;12550:28;;;;;;;;;;;;:::i;:::-;12453:145;;;;;;;;:::i;:::-;;;;-1:-1:-1;;12453:145:62;;;;;;;;;;-1:-1:-1;;;12439:161:62;;;;;;;:::i;:::-;;;;;;;;12310:306;-1:-1:-1;;12819:122:62;;;-1:-1:-1;;;;;;16300:33:136;;12819:122:62;;;;16282:52:136;;;;12819:122:62;;;;;;;;;;16255:18:136;;;;12819:122:62;;;;;;;-1:-1:-1;;;;;12819:122:62;-1:-1:-1;;;12819:122:62;;;12794:148;;12755:13;;;;12802:4;;12794:148;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12754:188;;;;12962:8;12957:299;;13047:1;13038:7;13034:15;13023:26;;13201:7;13190:28;;;;;;;;;;;;:::i;:::-;13100:138;;;;;;;;:::i;12957:299::-;12672:595;;13282:71;13329:7;;13338:6;13346;13282:71;;;;;;;;;:::i;:::-;;;;;;;;11344:2017;;11180:2181;;;;;:::o;7631:2725::-;7875:22;7912:21;7961;7985:18;7996:6;7985:10;:18::i;:::-;7961:42;;8031:6;:26;;;8014:43;;8078:33;8114:48;8144:9;8155:6;8114:29;:48::i;:::-;8078:84;;8180:27;:13;:25;;;;;;;;:::i;:::-;;:27::i;:::-;8176:2173;;;8308:43;;-1:-1:-1;;;8308:43:62;;;;;17285:25:136;;;8224:34:62;;-1:-1:-1;;;;;8308:27:62;;;;;17258:18:136;;8308:43:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8224:142;;8407:27;8385:49;;:19;:49;8381:533;;;8608:49;;;;:19;:49;:::i;:::-;8677:149;;-1:-1:-1;;;8677:149:62;;;;;17285:25:136;;;8591:67:62;;-1:-1:-1;;;;;;8677:31:62;;;;;8591:67;;17258:18:136;;8677:149:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8381:533;;;8897:1;8881:17;;8381:533;8209:726;8176:2173;;;9036:28;9019:13;:45;;;;;;;;:::i;:::-;;9015:924;;9163:23;;;;:28;9159:301;;9242:23;;;;9220:46;;-1:-1:-1;;;9220:46:62;;;;;17285:25:136;;;;-1:-1:-1;;;;;9220:21:62;;;;;17258:18:136;;9220:46:62;;;;;;;;;;;;;;;;;;;-1:-1:-1;9220:46:62;;;;;;;;-1:-1:-1;;9220:46:62;;;;;;;;;;;;:::i;:::-;;;9216:225;;;9340:66;;;;;;:::i;:::-;;;9267:165;9216:225;9478:23;;;:40;;;9015:924;;;9706:37;;-1:-1:-1;;;9706:37:62;;;;;17285:25:136;;;-1:-1:-1;;;;;9706:21:62;;;;;17258:18:136;;9706:37:62;;;;;;;;;;;;;;;;;;;-1:-1:-1;9706:37:62;;;;;;;;-1:-1:-1;;9706:37:62;;;;;;;;;;;;:::i;:::-;;;9702:222;;;9812:65;;;;;;:::i;:::-;;;9744:171;9702:222;10182:14;;;;10068:171;;;-1:-1:-1;;;10068:171:62;;;;;18046:25:136;;;;18111:13;;18126:6;18107:26;;;18087:18;;;18080:54;18102:2;18180:15;;18174:22;18170:35;18150:18;;;18143:63;18252:15;;18246:22;-1:-1:-1;;;;;18242:47:136;18222:18;;;18215:75;10017:19:62;;-1:-1:-1;;;;;;10068:19:62;;;;;10017;;18018::136;;10068:171:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10294:26;;;:43;;;10051:188;-1:-1:-1;8176:2173:62;7950:2406;;7631:2725;;;;;;;:::o;10364:808::-;10502:13;10518;10523:7;;10518:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10518:4:62;;-1:-1:-1;;;10518:13:62:i;:::-;10502:29;;10542:23;10568:18;10579:6;10568:10;:18::i;:::-;10542:44;;10601:8;:14;;;10619:1;10601:19;10597:486;;10670:8;:26;10689:7;;10670:8;:26;:::i;:::-;;10731:24;10747:7;;10731:15;:24::i;:::-;10711:17;;;:44;;-1:-1:-1;;10711:44:62;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10787:10:62;;;;:17;:21;;;:::i;:::-;10770:14;;;:38;10823:16;;;:26;;;-1:-1:-1;;;;;;;;;;;10864:23:62;;:10;:23;;;;-1:-1:-1;10864:23:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10597:486;;;10929:7;10909:8;:16;;;:27;10905:178;;11002:16;;;:26;;;11043:15;;;:28;;-1:-1:-1;;;;;;11043:28:62;;;10905:178;11098:66;11139:7;;11148:6;11156:7;11098:66;;;;;;;;;:::i;:::-;;;;;;;;10491:681;;10364:808;;;:::o;5752:1871::-;5897:39;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5897:39:62;5954:16;5973:35;5990:9;6001:6;5973:16;:35::i;:::-;5954:54;-1:-1:-1;6023:13:62;;6019:1597;;6097:34;;-1:-1:-1;;;6097:34:62;;;;;17285:25:136;;;6053:41:62;;-1:-1:-1;;;;;6097:24:62;;;;;17258:18:136;;6097:34:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6097:34:62;;;;;;;;;;;;:::i;:::-;6053:78;;6153:319;;;;;;;;6212:28;:16;:26;:28::i;:::-;-1:-1:-1;;;;;6153:319:62;;;;;6270:16;:26;;;-1:-1:-1;;;;;6153:319:62;;;;;6325:16;:25;;;6153:319;;;;6383:73;6407:48;6437:9;6448:6;6407:29;:48::i;:::-;6383:23;:73::i;:::-;6153:319;;;;;;;;:::i;:::-;;;;6146:326;;;;;;6019:1597;6515:15;6533:18;6544:6;6533:10;:18::i;:::-;:25;;;-1:-1:-1;;;;;6533:25:62;;-1:-1:-1;6577:21:62;;6573:1032;;6752:134;;;-1:-1:-1;;;;;;16300:33:136;;6752:134:62;;;;16282:52:136;;;;6752:134:62;;;;;;;;;;16255:18:136;;;;6752:134:62;;;;;;;-1:-1:-1;;;;;6752:134:62;-1:-1:-1;;;6752:134:62;;;6727:160;;6688:13;;;;6735:4;;6727:160;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6687:200;;;;6911:8;6906:321;;7004:1;6995:7;6991:15;6980:26;;7076:7;7065:29;;;;;;;;;;;;:::i;:::-;7051:45;;-1:-1:-1;;;7051:45:62;;;;;;;;:::i;6906:321::-;7163:7;7152:55;;;;;;;;;;;;:::i;:::-;7145:62;;;;;;;;6573:1032;7274:315;;;;;;;;-1:-1:-1;7274:315:62;;;;;;;;;;;;;;;;;;;7496:73;7520:48;7550:9;7561:6;7520:29;:48::i;6019:1597::-;5943:1680;5752:1871;;;;;:::o;4761:568::-;4824:13;4840;4845:7;;4840:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4840:4:62;;-1:-1:-1;;;4840:13:62:i;:::-;4824:29;-1:-1:-1;;;;;;;;;;;;4864:22:62;4936:18;4824:29;4936:10;:18::i;:::-;4979:14;;;;4910:44;;-1:-1:-1;4965:11:62;5012;;;5004:36;;;;-1:-1:-1;;;5004:36:62;;23063:2:136;5004:36:62;;;23045:21:136;23102:2;23082:18;;;23075:30;-1:-1:-1;;;23121:18:136;;;23114:42;23173:18;;5004:36:62;22861:336:136;5004:36:62;5078:12;;5051:18;;5072:5;;5078:16;;5093:1;;5078:16;:::i;:::-;5072:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5072:23:62;5106:5;5112:10;5121:1;5112:6;:10;:::i;:::-;5106:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;5148:5;:11;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;5148:11:62;;;;;;;;;;;;;;;;;;;;;;;;5202:6;5170:23;5181:11;5170:10;:23::i;:::-;:29;;:38;-1:-1:-1;;;;;;5226:22:62;;;;;;:14;:22;;;;;;5219:29;5226:22;;5219:29;:::i;:::-;-1:-1:-1;5219:29:62;;;;;-1:-1:-1;;5219:29:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5219:29:62;;;;;;;;;;;;;;5264:57;;;;;;5305:7;;;;5314:6;;5264:57;:::i;14187:994::-;14344:15;14387:56;14415:8;;14425:17;;14387:27;:56::i;:::-;14377:66;;14458:7;-1:-1:-1;;;;;14458:19:62;;14481:1;14458:24;14454:720;;14499:22;14524:46;14542:8;;14552:17;;14524;:46::i;:::-;14499:71;;14585:24;14810:1;14776:9;14770:16;14742:4;14731:9;14727:20;14702:1;14672:158;14652:178;;14945:16;14935:26;;-1:-1:-1;;;;;;;;15002:91:62;;15029:7;-1:-1:-1;;;;;15002:41:62;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;15002:91:62;;14976:186;;;;-1:-1:-1;;;14976:186:62;;24138:2:136;14976:186:62;;;24120:21:136;24177:2;24157:18;;;24150:30;24216:34;24196:18;;;24189:62;-1:-1:-1;;;24267:18:136;;;24260:31;24308:19;;14976:186:62;23936:397:136;14976:186:62;14484:690;;14454:720;14187:994;;;;;;:::o;5337:407::-;-1:-1:-1;;;;;;;;;;;5440:12:62;;5424:313;5454:7;;5424:313;;5486:14;5503:5;5509:7;5515:1;5509:3;:7;:::i;:::-;5503:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;5557:23:62;;;;;;:14;;;;;:23;;;;;5532:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5610:6;-1:-1:-1;;;;;;;;;;;2847:24:62;2719:170;5610:6;-1:-1:-1;;;;;;5610:23:62;;;;;;:14;;;;;:23;;;;;;5603:30;5610:23;;5603:30;:::i;:::-;-1:-1:-1;5603:30:62;;;;;-1:-1:-1;;5603:30:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5603:30:62;;;;;;;;;;;;;;5635:11;;:5;;:11;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;5635:11:62;;;;;;;;;;;;;;;;;;;;;;;;5666:59;;;;;;5707:8;;5717:7;;5666:59;:::i;:::-;;;;;;;;5471:266;;5463:6;;;;;:::i;:::-;;;;5424:313;;;;5367:377;5337:407::o;15719:578::-;15790:5;15808:28;15839:17;:7;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15839:15:62;;-1:-1:-1;;;15839:17:62:i;:::-;15896:11;;;;;;;;;;;-1:-1:-1;;;15896:11:62;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;3227:30:113;;;;;;;;3233:18;;3227:30;;;;;15808:48:62;;-1:-1:-1;3227:30:113;15966:22:62;15808:48;3227:30:113;15966:14:62;:22::i;:::-;:26;;15991:1;15966:26;:::i;:::-;-1:-1:-1;;;;;15953:40:62;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15928:65:62;-1:-1:-1;16009:8:62;16004:122;16029:6;:13;16023:3;:19;16004:122;;;16081:33;:22;:8;16096:6;16081:14;:22::i;:::-;:31;:33::i;:::-;16067:6;16074:3;16067:11;;;;;;;;:::i;:::-;;;;;;;;;;:47;16044:6;;16004:122;;;;16137:14;16153:13;16170:41;16185:6;16208:1;16192:6;:13;:17;;;;:::i;:::-;16185:25;;;;;;;;:::i;:::-;;;;;;;16170:14;:41::i;:::-;16136:75;;;;16230:8;16222:33;;;;-1:-1:-1;;;16222:33:62;;25002:2:136;16222:33:62;;;24984:21:136;25041:2;25021:18;;;25014:30;-1:-1:-1;;;25060:18:136;;;25053:42;25112:18;;16222:33:62;24800:336:136;16222:33:62;-1:-1:-1;16279:9:62;15719:578;-1:-1:-1;;;;;;15719:578:62:o;15189:522::-;15361:7;-1:-1:-1;;;;;;15538:4:62;15361:7;15609:46;15627:8;;15637:17;;15609;:46::i;:::-;15599:57;;;;;;;15456:219;;;;;;;;-1:-1:-1;;;;;;25364:26:136;;;;25352:39;;25428:2;25424:15;;;;-1:-1:-1;;25420:53:136;25416:1;25407:11;;25400:74;25499:2;25490:12;;25483:28;25536:2;25527:12;;25520:28;25573:2;25564:12;;25141:441;15456:219:62;;;;-1:-1:-1;;15456:219:62;;;;;;;;;15428:262;;15456:219;15428:262;;;;;15189:522;-1:-1:-1;;;;;15189:522:62:o;3957:122::-;-1:-1:-1;;;;;;4049:22:62;4015:14;4049:22;;;:14;:22;;;;;;3957:122::o;2897:127::-;2990:25;;;;;;;;2897:127::o;3464:399::-;3590:19;3627:16;3646:18;3657:6;3646:10;:18::i;:::-;:38;;;;-1:-1:-1;3699:13:62;;3695:161;;3736:40;;-1:-1:-1;;;3736:40:62;;;;;17285:25:136;;;-1:-1:-1;;;;;3736:30:62;;;;;17258:18:136;;3736:40:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3729:47;;;;;3695:161;3816:28;3809:35;;;;;36740:224:116;36803:4;36850:32;36842:4;:40;;;;;;;;:::i;:::-;;:103;;;-1:-1:-1;36911:34:116;36903:4;:42;;;;;;;;:::i;:::-;;36820:136;36740:224;-1:-1:-1;;36740:224:116:o;3032:424:62:-;3146:16;3191:18;3202:6;3191:10;:18::i;:::-;:38;;;;-1:-1:-1;3258:13:62;;;:106;;-1:-1:-1;3336:28:62;3292:40;;-1:-1:-1;;;3292:40:62;;;;;17285:25:136;;;-1:-1:-1;;;;;3292:30:62;;;;;17258:18:136;;3292:40:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;;;;;;;;:::i;:::-;;;3258:106;3240:209;;;3402:18;3413:6;3402:10;:18::i;:::-;:35;;;;3032:424;-1:-1:-1;;;3032:424:62:o;31511:198:116:-;31649:6;31601:4;31607:22;27997:17;28009:4;27997:11;:17::i;:::-;27996:18;:72;;;;;28052:16;28035:33;;;;;;;;:::i;:::-;:4;:13;;;:33;;;;;;;;:::i;:::-;;27996:72;27974:146;;;;-1:-1:-1;;;27974:146:116;;26030:2:136;27974:146:116;;;26012:21:136;26069:2;26049:18;;;26042:30;26108:25;26088:18;;;26081:53;26151:18;;27974:146:116;25828:347:136;27974:146:116;31680:21:::1;:4;:10;;;:19;:21::i;:::-;31673:28;;28151:29:::0;28169:4;:10;;;28151:17;:29::i;:::-;28135:4;:13;;:45;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;31511:198;;;;;:::o;16784:496:62:-;16893:45;16964:27;:13;:25;;;;;;;;:::i;:27::-;:297;;17079:25;:13;:23;;;;;;;;:::i;:::-;;:25::i;:::-;:167;;17195:51;16964:297;;17079:167;17124:51;16964:297;;;17008:54;16956:316;16784:496;-1:-1:-1;;16784:496:62:o;16523:253::-;16649:12;16717:8;;16740:17;;16686:82;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16679:89;;16523:253;;;;;;:::o;3049:216:113:-;-1:-1:-1;;;;;;;;;;;;;;;;;3227:30:113;;;;;;;;3233:18;;3227:30;;3184:15;;;3227:30;;;;;;;;3049:216::o;23948:370::-;24026:8;24047;24116:6;:11;;;24058:55;24066:4;:9;;;24077:4;:9;;;24088:6;:11;;;24101:6;:11;;;24058:7;:55::i;:::-;:69;;;;:::i;:::-;24047:80;;24138:173;24164:9;;24152;;;;:21;;24164:9;24152:21;:::i;:::-;24145:3;:28;24138:173;;24190:5;;;;:::i;:::-;;;;24288:6;:11;;;24216:69;24243:4;:9;;;24237:3;:15;;;;:::i;:::-;24224:9;;:29;;;;:::i;:::-;24255:3;24260:6;:11;;;24273:6;:11;;;24216:7;:69::i;:::-;:83;;;;:::i;:::-;24210:89;;24138:173;;21916:143;-1:-1:-1;;;;;;;;;;;;;;;;;22025:26:113;22031:4;22037:6;22045:5;22025;:26::i;5502:273::-;5562:13;5588:17;5619:4;:9;;;-1:-1:-1;;;;;5608:21:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5608:21:113;;5588:41;;5640:11;5692:2;5687:3;5683:12;5673:22;;5709:37;5717:6;5725:4;:9;;;5736:4;:9;;;5709:7;:37::i;46294:553:116:-;46371:8;;;46428:368;46458:3;46452:17;46448:1;:21;46428:368;;;46551:1;46545:2;46534:3;46539:1;46528:13;;;;;;;;:::i;:::-;;;;;;;46522:25;:20;46521:31;;;:91;;;46611:1;46605:2;46594:3;46599:1;46588:13;;;;;;;;:::i;:::-;;;;;;;46582:25;:20;46581:31;;46521:91;46495:197;;;-1:-1:-1;46663:1:116;;;;-1:-1:-1;46294:553:116;-1:-1:-1;;46294:553:116:o;46495:197::-;46778:1;46774;46760:3;46754:17;:21;:25;46747:2;:33;46741:2;46730:3;46735:1;46724:13;;;;;;;;:::i;:::-;;;;;;;46718:25;:20;46717:63;;46710:70;;;;;46471:3;;46428:368;;;-1:-1:-1;46818:3:116;;46823:4;;-1:-1:-1;46294:553:116;-1:-1:-1;46294:553:116:o;27622:124::-;27690:4;27714:24;27726:4;:11;;;27714;:24::i;17873:211:118:-;17981:6;17945:4;966:1;1787:8;1769:26;;:4;:14;;;:26;;;1765:101;;1833:14;;;;;1813:45;;-1:-1:-1;;;1813:45:118;;26949:4:136;26937:17;;;1813:45:118;;;26919:36:136;26991:17;;;26971:18;;;26964:45;26892:18;;1813:45:118;26749:266:136;1765:101:118;18006:72:::1;18025:4;:11;;;18045:4;:26;;;18006:10;:72::i;32032:743:116:-:0;32111:20;32186:10;:4;2152:11:118;:16;;:23;2130:18;;;;;:45;;;2043:138;32186:10:116;32181:587;;32235:1;32217:4;:14;;;:19;;;32213:544;;32333:14;;;;-1:-1:-1;;;32292:40:116;:56;;;;;;;;;:::i;:::-;;32264:87;;;;;;;;:::i;32213:544::-;32391:4;:14;;;:19;;32409:1;32391:19;32387:370;;32435:4;:26;;;:32;;32465:2;32435:32;:68;;;;32471:4;:26;;;:32;;32501:2;32471:32;32435:68;32431:311;;;-1:-1:-1;32535:19:116;;32032:743;-1:-1:-1;32032:743:116:o;32431:311::-;32632:2;32602:4;:26;;;:32;;;;:68;;;;;32668:2;32638:4;:26;;;:32;;;;32602:68;32598:144;;;-1:-1:-1;32702:20:116;;32032:743;-1:-1:-1;32032:743:116:o;32598:144::-;32032:743;;;:::o;36159:187::-;36220:4;;36259;:29;;;;;;;;:::i;:::-;;;:68;;;;;36310:17;36322:4;36310:11;:17::i;:::-;36309:18;36237:101;36159:187;-1:-1:-1;;36159:187:116:o;16038:1493:113:-;16137:4;16165:7;16137:4;16208:20;;;16204:1285;;16262:2;16249:9;:15;16245:1233;;16285:12;16320:13;;16316:112;;16405:1;16386:14;16391:9;16386:2;:14;:::i;:::-;16381:20;;:1;:20;:::i;:::-;16375:27;;:1;:27;:::i;:::-;:31;;;;:::i;:::-;16373:34;;-1:-1:-1;16316:112:113;16514:16;;16510:27;;16448:18;16590:9;16570:17;16580:7;16570;:17;:::i;:::-;:29;;;;:::i;:::-;16678:10;;16559:40;;-1:-1:-1;16674:21:113;;16717:233;16735:10;16724:7;:21;16717:233;;16781:3;16774;:10;16770:65;;16818:17;16828:7;16818;:17;:::i;:::-;16811:24;;;;;;;;;;16770:65;16858:5;;;;:::i;:::-;;;;16924:4;16918:3;16912:10;16908:21;16897:32;;16717:233;;;16975:3;16968:10;;;;;;;;;;16245:1233;-1:-1:-1;17119:31:113;;;17069:12;;17172:291;17193:19;17203:9;17193:7;:19;:::i;:::-;17186:3;:26;17172:291;;17306:25;;;17359:16;;;17355:57;;17409:3;17402:10;;;;;;;;17355:57;17435:8;17442:1;17435:8;;:::i;:::-;;;17221:242;17214:5;;;;;:::i;:::-;;;;17172:291;;;17000:478;16245:1233;17506:17;17516:7;17506;:17;:::i;:::-;17499:24;16038:1493;-1:-1:-1;;;;;;;16038:1493:113:o;20918:516::-;-1:-1:-1;;;;;;;;;;;;;;;;;21041:8:113;21052:55;21060:4;:9;;;21071:4;:9;;;21082:6;:11;;;21095:6;:11;;;21052:7;:55::i;:::-;21131:9;;;;;;21118:10;;;:22;;;;21170:9;21041:66;;-1:-1:-1;21164:15:113;;21041:66;21164:15;:::i;:::-;21151:28;;21213:9;;21201;;;;:21;;21213:9;21201:21;:::i;:::-;21194:3;:28;21190:214;;21277:1;21265:13;;21190:214;;;21337:11;;21324:10;;:24;;21337:11;21324:24;:::i;:::-;21311:37;;:4;;:37;;;;;:::i;:::-;;;-1:-1:-1;21381:11:113;;21375:17;;:3;:17;:::i;:::-;21363:9;;;:29;21190:214;-1:-1:-1;21421:5:113;;20918:516;-1:-1:-1;;;20918:516:113:o;2187:655::-;2327:2;2319:4;:10;2313:176;;2400:11;;2386:26;;2441:11;2450:2;2393:5;2441:11;:::i;:::-;;-1:-1:-1;2467:10:113;2475:2;2467:10;;:::i;:::-;;-1:-1:-1;2331:10:113;2339:2;2331:10;;:::i;:::-;;;2313:176;;;-1:-1:-1;;2576:8:113;;2572:71;;2630:1;2617:9;2622:4;2617:2;:9;:::i;:::-;2609:18;;:3;:18;:::i;:::-;:22;;;;:::i;:::-;2601:30;;2572:71;2696:11;;2754:12;;2750:24;;2709:10;;2692:28;2802:21;;;;2788:36;;;-1:-1:-1;2187:655:113:o;8833:697:118:-;8972:6;9018:2;8994:21;:26;;;8990:77;;;-1:-1:-1;9031:28:118;;;;;8990:77;9077:21;:27;;9102:2;9077:27;9073:75;;9122:18;:6;:16;:18::i;:::-;9115:25;;;;;;9073:75;9158:21;:27;;9183:2;9158:27;9154:76;;9203:19;:6;:17;:19::i;:::-;9196:26;;;;;;9154:76;9240:21;:27;;9265:2;9240:27;9236:76;;9285:19;:6;:17;:19::i;:::-;9278:26;;;;;;9236:76;9322:21;:27;;9347:2;9322:27;9318:76;;9367:19;:6;:17;:19::i;:::-;9360:26;;;;9318:76;9404:21;:27;;9429:2;9404:27;9400:67;;-1:-1:-1;;;;;;9442:17:118;;9400:67;9480:44;;-1:-1:-1;;;9480:44:118;;9537:4:136;9525:17;;9480:44:118;;;9507:36:136;9480:18;;:44:118;9357:192:136;13731:315:117;13857:11;13808:6;:13;;;13823:6;:11;;;:18;1012:6;1004:5;:14;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:117;;;;;6206:25:136;;;6247:18;;;6240:34;;;6179:18;;1036:31:117;6024:256:136;1000:75:117;13900:11;;13932:13:::1;::::0;::::1;::::0;;13985:25;;;13999:1:::1;13985:25:::0;13979:32;;-1:-1:-1;13932:13:117;;;14024:16:::1;13932:13:::0;14024:16:::1;:::i;:::-;;;::::0;::::1;13873:173;;13731:315:::0;;;;;:::o;14288:323::-;14419:12;14366:6;:13;;;14382:1;14366:17;;;;:::i;:::-;14385:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:117;;;;;6206:25:136;;;6247:18;;;6240:34;;;6179:18;;1036:31:117;6024:256:136;1000:75:117;14463:11;;14495:13:::1;::::0;::::1;::::0;;14562:1:::1;14548:25:::0;;;;;14542:32;;-1:-1:-1;14495:13:117;;14587:18:::1;14562:1:::0;14495:13;14587:18:::1;:::i;:::-;::::0;;-1:-1:-1;14288:323:117;;;-1:-1:-1;;;;;14288:323:117:o;14853:::-;14984:12;14931:6;:13;;;14947:1;14931:17;;;;:::i;:::-;14950:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:117;;;;;6206:25:136;;;6247:18;;;6240:34;;;6179:18;;1036:31:117;6024:256:136;1000:75:117;15028:11;;15060:13:::1;::::0;::::1;::::0;;15127:1:::1;15113:25:::0;;;;;15107:32;;-1:-1:-1;15060:13:117;;15152:18:::1;15127:1:::0;15060:13;15152:18:::1;:::i;15418:323::-:0;15549:12;15496:6;:13;;;15512:1;15496:17;;;;:::i;:::-;15515:11;;:18;1004:14;;;1000:75;;;1036:31;;-1:-1:-1;;;1036:31:117;;;;;6206:25:136;;;6247:18;;;6240:34;;;6179:18;;1036:31:117;6024:256:136;1000:75:117;15593:11;;15625:13:::1;::::0;::::1;::::0;;15692:1:::1;15678:25:::0;;;;;15672:32;;-1:-1:-1;15625:13:117;;15717:18:::1;15692:1:::0;15625:13;15717:18:::1;:::i;-1:-1:-1:-:0;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;14:289:136:-;56:3;94:5;88:12;121:6;116:3;109:19;177:6;170:4;163:5;159:16;152:4;147:3;143:14;137:47;229:1;222:4;213:6;208:3;204:16;200:27;193:38;292:4;285:2;281:7;276:2;268:6;264:15;260:29;255:3;251:39;247:50;240:57;;;14:289;;;;:::o;308:420::-;361:3;399:5;393:12;426:6;421:3;414:19;458:4;453:3;449:14;442:21;;497:4;490:5;486:16;520:1;530:173;544:6;541:1;538:13;530:173;;;605:13;;593:26;;648:4;639:14;;;;676:17;;;;566:1;559:9;530:173;;;-1:-1:-1;719:3:136;;308:420;-1:-1:-1;;;;308:420:136:o;733:1515::-;1105:2;1117:21;;;1187:13;;1090:18;;;1209:22;;;1057:4;;1301;1289:17;;;1262:3;1247:19;;;1057:4;1334:200;1348:6;1345:1;1342:13;1334:200;;;1413:13;;-1:-1:-1;;;;;;1409:40:136;1397:53;;1479:4;1507:17;;;;1470:14;;;;1370:1;1363:9;1334:200;;;1338:3;;1581:9;1576:3;1572:19;1565:4;1554:9;1550:20;1543:49;1614:3;1601:16;;1648:6;1642:13;1676:8;1671:3;1664:21;1712:4;1707:3;1703:14;1694:23;;1772:4;1760:8;1757:1;1753:16;1748:3;1744:26;1740:37;1814:4;1806:6;1802:17;1839:1;1849:273;1865:8;1860:3;1857:17;1849:273;;;1960:2;1956:7;1950:3;1942:6;1938:16;1934:30;1927:5;1920:45;1988:42;2023:6;2012:8;2006:15;1988:42;:::i;:::-;2069:4;2096:16;;;;1978:52;;-1:-1:-1;2055:19:136;;;;;1893:1;1884:11;1849:273;;;1853:3;;2170:9;2162:6;2158:22;2153:2;2142:9;2138:18;2131:50;2198:44;2235:6;2227;2198:44;:::i;:::-;2190:52;733:1515;-1:-1:-1;;;;;;;;;733:1515:136:o;2253:348::-;2305:8;2315:6;2369:3;2362:4;2354:6;2350:17;2346:27;2336:55;;2387:1;2384;2377:12;2336:55;-1:-1:-1;2410:20:136;;-1:-1:-1;;;;;2442:30:136;;2439:50;;;2485:1;2482;2475:12;2439:50;2522:4;2514:6;2510:17;2498:29;;2574:3;2567:4;2558:6;2550;2546:19;2542:30;2539:39;2536:59;;;2591:1;2588;2581:12;2536:59;2253:348;;;;;:::o;2606:131::-;-1:-1:-1;;;;;2681:31:136;;2671:42;;2661:70;;2727:1;2724;2717:12;2742:1062;2870:6;2878;2886;2894;2902;2955:2;2943:9;2934:7;2930:23;2926:32;2923:52;;;2971:1;2968;2961:12;2923:52;3011:9;2998:23;-1:-1:-1;;;;;3036:6:136;3033:30;3030:50;;;3076:1;3073;3066:12;3030:50;3115:59;3166:7;3157:6;3146:9;3142:22;3115:59;:::i;:::-;3193:8;;-1:-1:-1;3089:85:136;-1:-1:-1;;3278:2:136;3263:18;;3250:32;3291:31;3250:32;3291:31;:::i;:::-;3341:5;-1:-1:-1;3399:2:136;3384:18;;3371:32;-1:-1:-1;;;;;3415:32:136;;3412:52;;;3460:1;3457;3450:12;3412:52;3483:24;;3538:4;3530:13;;3526:27;-1:-1:-1;3516:55:136;;3567:1;3564;3557:12;3516:55;3607:2;3594:16;-1:-1:-1;;;;;3625:6:136;3622:30;3619:50;;;3665:1;3662;3655:12;3619:50;3718:7;3713:2;3703:6;3700:1;3696:14;3692:2;3688:23;3684:32;3681:45;3678:65;;;3739:1;3736;3729:12;3678:65;2742:1062;;;;-1:-1:-1;2742:1062:136;;-1:-1:-1;;;3770:2:136;3762:11;;3792:6;2742:1062::o;3809:131::-;-1:-1:-1;;;;;;3883:32:136;;3873:43;;3863:71;;3930:1;3927;3920:12;3945:127;4006:10;4001:3;3997:20;3994:1;3987:31;4037:4;4034:1;4027:15;4061:4;4058:1;4051:15;4077:248;4144:2;4138:9;4186:4;4174:17;;-1:-1:-1;;;;;4206:34:136;;4242:22;;;4203:62;4200:88;;;4268:18;;:::i;:::-;4304:2;4297:22;4077:248;:::o;4330:257::-;4402:4;4396:11;;;4434:17;;-1:-1:-1;;;;;4466:34:136;;4502:22;;;4463:62;4460:88;;;4528:18;;:::i;4592:159::-;4659:20;;4719:6;4708:18;;4698:29;;4688:57;;4741:1;4738;4731:12;4756:129;-1:-1:-1;;;;;4834:5:136;4830:30;4823:5;4820:41;4810:69;;4875:1;4872;4865:12;4890:1129;5031:6;5039;5047;5055;5099:9;5090:7;5086:23;5129:3;5125:2;5121:12;5118:32;;;5146:1;5143;5136:12;5118:32;5185:9;5172:23;5204:31;5229:5;5204:31;:::i;:::-;5254:5;-1:-1:-1;5311:2:136;5296:18;;5283:32;5324;5283;5324;:::i;:::-;5375:7;-1:-1:-1;5416:4:136;-1:-1:-1;;5398:16:136;;5394:27;5391:47;;;5434:1;5431;5424:12;5391:47;-1:-1:-1;5487:2:136;5481:9;5529:4;5517:17;;-1:-1:-1;;;;;5549:34:136;;5585:22;;;5546:62;5543:88;;;5611:18;;:::i;:::-;5651:10;5647:2;5640:22;;5686:37;5719:2;5708:9;5704:18;5686:37;:::i;:::-;5678:6;5671:53;5757:39;5790:4;5779:9;5775:20;5757:39;:::i;:::-;5752:2;5744:6;5740:15;5733:64;5849:3;5838:9;5834:19;5821:33;5863:32;5887:7;5863:32;:::i;:::-;5923:2;5911:15;;5904:32;4890:1129;;;;-1:-1:-1;5915:6:136;;6008:3;5993:19;5980:33;;-1:-1:-1;;4890:1129:136:o;6285:479::-;6365:6;6373;6381;6434:2;6422:9;6413:7;6409:23;6405:32;6402:52;;;6450:1;6447;6440:12;6402:52;6490:9;6477:23;-1:-1:-1;;;;;6515:6:136;6512:30;6509:50;;;6555:1;6552;6545:12;6509:50;6594:59;6645:7;6636:6;6625:9;6621:22;6594:59;:::i;:::-;6672:8;;6568:85;;-1:-1:-1;6754:2:136;6739:18;;;;6726:32;;6285:479;-1:-1:-1;;;;6285:479:136:o;6769:415::-;6865:6;6873;6926:2;6914:9;6905:7;6901:23;6897:32;6894:52;;;6942:1;6939;6932:12;6894:52;6981:9;6968:23;7000:31;7025:5;7000:31;:::i;:::-;7050:5;-1:-1:-1;7107:2:136;7092:18;;7079:32;7120;7079;7120;:::i;:::-;7171:7;7161:17;;;6769:415;;;;;:::o;7189:127::-;7250:10;7245:3;7241:20;7238:1;7231:31;7281:4;7278:1;7271:15;7305:4;7302:1;7295:15;7321:680;7469:4;7511:3;7500:9;7496:19;7488:27;;-1:-1:-1;;;;;7552:6:136;7546:13;7542:38;7531:9;7524:57;-1:-1:-1;;;;;7641:4:136;7633:6;7629:17;7623:24;7619:49;7612:4;7601:9;7597:20;7590:79;7725:4;7717:6;7713:17;7707:24;7700:4;7689:9;7685:20;7678:54;7779:4;7771:6;7767:17;7761:24;7821:1;7807:12;7804:19;7794:150;;7866:10;7861:3;7857:20;7854:1;7847:31;7901:4;7898:1;7891:15;7929:4;7926:1;7919:15;7794:150;7982:12;7975:4;7964:9;7960:20;7953:42;;7321:680;;;;:::o;8006:411::-;8077:6;8085;8138:2;8126:9;8117:7;8113:23;8109:32;8106:52;;;8154:1;8151;8144:12;8106:52;8194:9;8181:23;-1:-1:-1;;;;;8219:6:136;8216:30;8213:50;;;8259:1;8256;8249:12;8213:50;8298:59;8349:7;8340:6;8329:9;8325:22;8298:59;:::i;:::-;8376:8;;8272:85;;-1:-1:-1;8006:411:136;-1:-1:-1;;;;8006:411:136:o;8422:714::-;8512:6;8520;8528;8536;8589:2;8577:9;8568:7;8564:23;8560:32;8557:52;;;8605:1;8602;8595:12;8557:52;8645:9;8632:23;-1:-1:-1;;;;;8670:6:136;8667:30;8664:50;;;8710:1;8707;8700:12;8664:50;8749:59;8800:7;8791:6;8780:9;8776:22;8749:59;:::i;:::-;8827:8;;-1:-1:-1;8723:85:136;-1:-1:-1;;8915:2:136;8900:18;;8887:32;-1:-1:-1;;;;;8931:32:136;;8928:52;;;8976:1;8973;8966:12;8928:52;9015:61;9068:7;9057:8;9046:9;9042:24;9015:61;:::i;:::-;8422:714;;;;-1:-1:-1;9095:8:136;-1:-1:-1;;;;8422:714:136:o;9554:127::-;9615:10;9610:3;9606:20;9603:1;9596:31;9646:4;9643:1;9636:15;9670:4;9667:1;9660:15;9686:380;9765:1;9761:12;;;;9808;;;9829:61;;9883:4;9875:6;9871:17;9861:27;;9829:61;9936:2;9928:6;9925:14;9905:18;9902:38;9899:161;;9982:10;9977:3;9973:20;9970:1;9963:31;10017:4;10014:1;10007:15;10045:4;10042:1;10035:15;9899:161;;9686:380;;;:::o;10197:518::-;10299:2;10294:3;10291:11;10288:421;;;10335:5;10332:1;10325:16;10379:4;10376:1;10366:18;10449:2;10437:10;10433:19;10430:1;10426:27;10420:4;10416:38;10485:4;10473:10;10470:20;10467:47;;;-1:-1:-1;10508:4:136;10467:47;10563:2;10558:3;10554:12;10551:1;10547:20;10541:4;10537:31;10527:41;;10618:81;10636:2;10629:5;10626:13;10618:81;;;10695:1;10681:16;;10662:1;10651:13;10618:81;;;10622:3;;10288:421;10197:518;;;:::o;10891:1198::-;-1:-1:-1;;;;;11010:3:136;11007:27;11004:53;;;11037:18;;:::i;:::-;11066:94;11156:3;11116:38;11148:4;11142:11;11116:38;:::i;:::-;11110:4;11066:94;:::i;:::-;11186:1;11211:2;11206:3;11203:11;11228:1;11223:608;;;;11875:1;11892:3;11889:93;;;-1:-1:-1;11948:19:136;;;11935:33;11889:93;-1:-1:-1;;10848:1:136;10844:11;;;10840:24;10836:29;10826:40;10872:1;10868:11;;;10823:57;11995:78;;11196:887;;11223:608;10144:1;10137:14;;;10181:4;10168:18;;-1:-1:-1;;11259:17:136;;;11374:229;11388:7;11385:1;11382:14;11374:229;;;11477:19;;;11464:33;11449:49;;11584:4;11569:20;;;;11537:1;11525:14;;;;11404:12;11374:229;;;11378:3;11631;11622:7;11619:16;11616:159;;;11755:1;11751:6;11745:3;11739;11736:1;11732:11;11728:21;11724:34;11720:39;11707:9;11702:3;11698:19;11685:33;11681:79;11673:6;11666:95;11616:159;;;11818:1;11812:3;11809:1;11805:11;11801:19;11795:4;11788:33;11196:887;;10891:1198;;;:::o;12094:127::-;12155:10;12150:3;12146:20;12143:1;12136:31;12186:4;12183:1;12176:15;12210:4;12207:1;12200:15;12226:125;12291:9;;;12312:10;;;12309:36;;;12325:18;;:::i;12356:267::-;12445:6;12440:3;12433:19;12497:6;12490:5;12483:4;12478:3;12474:14;12461:43;-1:-1:-1;12549:1:136;12524:16;;;12542:4;12520:27;;;12513:38;;;;12605:2;12584:15;;;-1:-1:-1;;12580:29:136;12571:39;;;12567:50;;12356:267::o;12628:1325::-;-1:-1:-1;;;;;;12906:33:136;;12888:52;;12876:2;12971;12956:18;;12949:30;;;12861:18;;13014:22;;;-1:-1:-1;13067:2:136;13116:1;13112:14;;;13097:30;;13093:39;;;13052:18;;13155:6;-1:-1:-1;;;13207:14:136;13203:27;;;13199:41;13249:675;13263:6;13260:1;13257:13;13249:675;;;13328:22;;;-1:-1:-1;;13324:36:136;13312:49;;13400:20;;13443:27;;;13433:55;;13484:1;13481;13474:12;13433:55;13514:31;;13630:2;13619:14;;;13572:19;-1:-1:-1;;;;;13649:30:136;;13646:50;;;13692:1;13689;13682:12;13646:50;13745:6;13729:14;13725:27;13716:7;13712:41;13709:61;;;13766:1;13763;13756:12;13709:61;13793:51;13837:6;13829;13820:7;13793:51;:::i;:::-;13783:61;;;;13879:2;13871:6;13867:15;13857:25;;13911:2;13906:3;13902:12;13895:19;;13285:1;13282;13278:9;13273:14;;13249:675;;;-1:-1:-1;13941:6:136;;12628:1325;-1:-1:-1;;;;;;;;12628:1325:136:o;13958:211::-;13999:3;14037:5;14031:12;14081:6;14074:4;14067:5;14063:16;14058:3;14052:36;14143:1;14107:16;;14132:13;;;-1:-1:-1;14107:16:136;;13958:211;-1:-1:-1;13958:211:136:o;14174:189::-;14303:3;14328:29;14353:3;14345:6;14328:29;:::i;:::-;14321:36;14174:189;-1:-1:-1;;;14174:189:136:o;14368:720::-;14444:5;14476:1;-1:-1:-1;;;;;14492:6:136;14489:30;14486:56;;;14522:18;;:::i;:::-;-1:-1:-1;14677:2:136;14671:9;-1:-1:-1;;14590:2:136;14569:15;;14565:29;;14735:2;14723:15;14719:29;14707:42;;14800:22;;;-1:-1:-1;;;;;14764:34:136;;14761:62;14758:88;;;14826:18;;:::i;:::-;14862:2;14855:22;14910;;;14895:6;-1:-1:-1;14895:6:136;14947:16;;;14944:25;-1:-1:-1;14941:45:136;;;14982:1;14979;14972:12;14941:45;15025:6;15020:3;15013:4;15005:6;15001:17;14995:37;15080:1;15073:4;15064:6;15056;15052:19;15048:30;15041:41;;14368:720;;;;;:::o;15093:459::-;15173:6;15226:2;15214:9;15205:7;15201:23;15197:32;15194:52;;;15242:1;15239;15232:12;15194:52;15275:9;15269:16;-1:-1:-1;;;;;15300:6:136;15297:30;15294:50;;;15340:1;15337;15330:12;15294:50;15363:22;;15416:4;15408:13;;15404:27;-1:-1:-1;15394:55:136;;15445:1;15442;15435:12;15394:55;15468:78;15538:7;15533:2;15527:9;15522:2;15518;15514:11;15468:78;:::i;15557:351::-;15819:28;15814:3;15807:41;15789:3;15864:38;15898:2;15893:3;15889:12;15881:6;15864:38;:::i;15913:220::-;16062:2;16051:9;16044:21;16025:4;16082:45;16123:2;16112:9;16108:18;16100:6;16082:45;:::i;16345:344::-;-1:-1:-1;;;16602:3:136;16595:34;16577:3;16645:38;16679:2;16674:3;16670:12;16662:6;16645:38;:::i;16694:440::-;16907:2;16896:9;16889:21;16870:4;16927:62;16985:2;16974:9;16970:18;16962:6;16954;16927:62;:::i;:::-;-1:-1:-1;;;;;;17025:33:136;;;;17020:2;17005:18;;16998:61;-1:-1:-1;;;;;;17095:32:136;;;;17090:2;17075:18;;;17068:60;16919:70;16694:440;-1:-1:-1;;16694:440:136:o;17321:327::-;17427:6;17480:2;17468:9;17459:7;17455:23;17451:32;17448:52;;;17496:1;17493;17486:12;17448:52;17528:9;17522:16;17578:20;17571:5;17567:32;17560:5;17557:43;17547:71;;17614:1;17611;17604:12;17653:128;17720:9;;;17741:11;;;17738:37;;;17755:18;;:::i;18301:230::-;18371:6;18424:2;18412:9;18403:7;18399:23;18395:32;18392:52;;;18440:1;18437;18430:12;18392:52;-1:-1:-1;18485:16:136;;18301:230;-1:-1:-1;18301:230:136:o;18536:414::-;18749:2;18738:9;18731:21;18712:4;18769:62;18827:2;18816:9;18812:18;18804:6;18796;18769:62;:::i;:::-;-1:-1:-1;;;;;;18867:33:136;;;;18862:2;18847:18;;18840:61;-1:-1:-1;18932:2:136;18917:18;18910:34;18761:70;18536:414;-1:-1:-1;;18536:414:136:o;18955:159::-;19044:13;;19086:3;19076:14;;19066:42;;19104:1;19101;19094:12;19119:160;19221:13;;19243:30;19221:13;19243:30;:::i;19284:160::-;19361:13;;19414:4;19403:16;;19393:27;;19383:55;;19434:1;19431;19424:12;19449:1305;19511:5;19559:4;19547:9;19542:3;19538:19;19534:30;19531:50;;;19577:1;19574;19567:12;19531:50;19599:17;;:::i;:::-;19590:26;;19645:9;19639:16;-1:-1:-1;;;;;19670:6:136;19667:30;19664:50;;;19710:1;19707;19700:12;19664:50;19733:22;;19785:4;19771:12;;;19767:23;19764:43;;;19803:1;19800;19793:12;19764:43;19831:22;;:::i;:::-;19884:2;19878:9;-1:-1:-1;;;;;19902:8:136;19899:32;19896:52;;;19944:1;19941;19934:12;19896:52;19967:17;;20015:4;20007:13;;20003:23;-1:-1:-1;19993:51:136;;20040:1;20037;20030:12;19993:51;20069:76;20141:3;20136:2;20130:9;20123:4;20119:2;20115:13;20069:76;:::i;:::-;20053:93;;-1:-1:-1;20205:4:136;20197:13;;;20191:20;20227:18;;;20220:35;20264:22;;20320:49;;20348:20;;20320:49;:::i;:::-;20313:4;20306:5;20302:16;20295:75;20404:49;20447:4;20436:9;20432:20;20404:49;:::i;:::-;20397:4;20390:5;20386:16;20379:75;20486:47;20529:2;20518:9;20514:18;20486:47;:::i;:::-;20481:2;20474:5;20470:14;20463:71;20567:73;20635:3;20624:9;20620:19;20567:73;:::i;:::-;20561:3;20554:5;20550:15;20543:98;20674:73;20742:3;20731:9;20727:19;20674:73;:::i;:::-;20668:3;20661:5;20657:15;20650:98;19449:1305;;;;:::o;20759:1143::-;20858:6;20911:2;20899:9;20890:7;20886:23;20882:32;20879:52;;;20927:1;20924;20917:12;20879:52;20960:9;20954:16;-1:-1:-1;;;;;20985:6:136;20982:30;20979:50;;;21025:1;21022;21015:12;20979:50;21048:22;;21104:4;21086:16;;;21082:27;21079:47;;;21122:1;21119;21112:12;21079:47;21148:17;;:::i;:::-;21188:43;21228:2;21188:43;:::i;:::-;21181:5;21174:58;21270:2;21266;21262:11;21256:18;21305:2;21296:7;21293:15;21283:43;;21322:1;21319;21312:12;21283:43;21353:2;21342:14;;21335:31;21425:2;21417:11;;;21411:18;21445:14;;;21438:31;21528:2;21520:11;;;21514:18;21548:14;;;21541:31;21605:66;21666:3;21658:12;;21605:66;:::i;:::-;21599:3;21592:5;21588:15;21581:91;21711:3;21707:2;21703:12;21697:19;-1:-1:-1;;;;;21731:8:136;21728:32;21725:52;;;21773:1;21770;21763:12;21725:52;21810:61;21863:7;21852:8;21848:2;21844:17;21810:61;:::i;:::-;21804:3;21793:15;;21786:86;-1:-1:-1;21797:5:136;20759:1143;-1:-1:-1;;;;20759:1143:136:o;21907:949::-;22001:6;22061:3;22049:9;22040:7;22036:23;22032:33;22077:2;22074:22;;;22092:1;22089;22082:12;22074:22;-1:-1:-1;22161:2:136;22155:9;22203:3;22191:16;;-1:-1:-1;;;;;22222:34:136;;22258:22;;;22219:62;22216:88;;;22284:18;;:::i;:::-;22320:2;22313:22;22357:16;;22382:30;22357:16;22382:30;:::i;:::-;22421:21;;22487:2;22472:18;;22466:25;22500:32;22466:25;22500:32;:::i;:::-;22560:2;22548:15;;22541:32;22639:2;22624:18;;;22618:25;22659:15;;;22652:32;22729:2;22714:18;;22708:25;22764:1;22752:14;;22742:42;;22780:1;22777;22770:12;22742:42;22812:2;22800:15;;22793:32;22804:6;21907:949;-1:-1:-1;;;21907:949:136:o;23202:127::-;23263:10;23258:3;23254:20;23251:1;23244:31;23294:4;23291:1;23284:15;23318:4;23315:1;23308:15;23334:343;23519:2;23508:9;23501:21;23482:4;23539:62;23597:2;23586:9;23582:18;23574:6;23566;23539:62;:::i;:::-;23531:70;;23658:10;23653:3;23649:20;23641:6;23637:33;23632:2;23621:9;23617:18;23610:61;23334:343;;;;;;:::o;23682:249::-;23751:6;23804:2;23792:9;23783:7;23779:23;23775:32;23772:52;;;23820:1;23817;23810:12;23772:52;23852:9;23846:16;23871:30;23895:5;23871:30;:::i;24338:316::-;24513:2;24502:9;24495:21;24476:4;24533:45;24574:2;24563:9;24559:18;24551:6;24533:45;:::i;:::-;24525:53;;24635:10;24630:3;24626:20;24618:6;24614:33;24609:2;24598:9;24594:18;24587:61;24338:316;;;;;:::o;24659:136::-;24698:3;24726:5;24716:39;;24735:18;;:::i;:::-;-1:-1:-1;;;24771:18:136;;24659:136::o;25587:236::-;25675:6;25728:2;25716:9;25707:7;25703:23;25699:32;25696:52;;;25744:1;25741;25734:12;25696:52;25767:50;25807:9;25767:50;:::i;26180:424::-;26419:6;26411;26406:3;26393:33;26375:3;26454:6;26449:3;26445:16;26481:1;26477:2;26470:13;26517:6;26509;26505:2;26492:32;26578:1;26543:15;;26567:13;;;-1:-1:-1;26543:15:136;;26180:424;-1:-1:-1;;;;26180:424:136:o;26609:135::-;26648:3;26669:17;;;26666:43;;26689:18;;:::i;:::-;-1:-1:-1;26736:1:136;26725:13;;26609:135::o;27020:168::-;27093:9;;;27124;;27141:15;;;27135:22;;27121:37;27111:71;;27162:18;;:::i;27193:375::-;27281:1;27299:5;27313:249;27334:1;27324:8;27321:15;27313:249;;;27384:4;27379:3;27375:14;27369:4;27366:24;27363:50;;;27393:18;;:::i;:::-;27443:1;27433:8;27429:16;27426:49;;;27457:16;;;;27426:49;27540:1;27536:16;;;;;27496:15;;27313:249;;;27193:375;;;;;;:::o;27573:902::-;27622:5;27652:8;27642:80;;-1:-1:-1;27693:1:136;27707:5;;27642:80;27741:4;27731:76;;-1:-1:-1;27778:1:136;27792:5;;27731:76;27823:4;27841:1;27836:59;;;;27909:1;27904:174;;;;27816:262;;27836:59;27866:1;27857:10;;27880:5;;;27904:174;27941:3;27931:8;27928:17;27925:43;;;27948:18;;:::i;:::-;-1:-1:-1;;28004:1:136;27990:16;;28063:5;;27816:262;;28162:2;28152:8;28149:16;28143:3;28137:4;28134:13;28130:36;28124:2;28114:8;28111:16;28106:2;28100:4;28097:12;28093:35;28090:77;28087:203;;;-1:-1:-1;28199:19:136;;;28275:5;;28087:203;28322:42;-1:-1:-1;;28347:8:136;28341:4;28322:42;:::i;:::-;28400:6;28396:1;28392:6;28388:19;28379:7;28376:32;28373:58;;;28411:18;;:::i;:::-;28449:20;;27573:902;-1:-1:-1;;;27573:902:136:o;28480:131::-;28540:5;28569:36;28596:8;28590:4;28569:36;:::i",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.8.0 <0.9.0;\r\n\r\nimport \"../WitOracle.sol\";\r\n\r\nimport \"../interfaces/legacy/IWitPriceFeedsLegacy.sol\";\r\nimport \"../interfaces/legacy/IWitPriceFeedsLegacyAdmin.sol\";\r\nimport \"../interfaces/legacy/IWitPriceFeedsLegacySolver.sol\";\r\nimport \"../libs/Slices.sol\";\r\n\r\n/// @title WitPriceFeedsLegacy data model.\r\n/// @author The Witnet Foundation.\r\nlibrary WitPriceFeedsLegacyDataLib {\r\n\r\n    using Slices for string;\r\n    using Slices for Slices.Slice;\r\n\r\n    using Witnet for Witnet.DataResult;\r\n    using Witnet for Witnet.QueryId;\r\n    using Witnet for Witnet.ResultStatus;\r\n    \r\n    bytes32 private constant _WIT_FEEDS_DATA_SLOTHASH =\r\n        /* keccak256(\"io.witnet.feeds.data\") */\r\n        0xe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ff;\r\n\r\n    struct Storage {\r\n        bytes32 reserved;\r\n        bytes4[] ids;\r\n        mapping (bytes4 => Record) records;\r\n    }\r\n\r\n    struct Record {\r\n        string  caption;\r\n        uint8   decimals;\r\n        uint256 index;\r\n        uint256 lastValidQueryId;\r\n        uint256 latestUpdateQueryId;\r\n        bytes32 radHash;\r\n        address solver;         // logic contract address for reducing values on routed feeds.\r\n        int256  solverReductor; // as to reduce resulting number of decimals on routed feeds.\r\n        bytes32 solverDepsFlag; // as to store ids of up to 8 depending feeds.\r\n    }\r\n\r\n    \r\n    // ================================================================================================\r\n    // --- Internal functions -------------------------------------------------------------------------\r\n    \r\n    /// @notice Returns array of feed ids from which given feed's value depends.\r\n    /// @dev Returns empty array on either unsupported or not-routed feeds.\r\n    /// @dev The maximum number of dependencies is hard-limited to 8, as to limit number\r\n    /// @dev of SSTORE operations (`__storage().records[feedId].solverDepsFlag`), \r\n    /// @dev no matter the actual number of depending feeds involved.\r\n    function depsOf(bytes4 feedId) internal view returns (bytes4[] memory _deps) {\r\n        bytes32 _solverDepsFlag = data().records[feedId].solverDepsFlag;\r\n        _deps = new bytes4[](8);\r\n        uint _len;\r\n        for (_len = 0; _len < 8; _len ++) {\r\n            _deps[_len] = bytes4(_solverDepsFlag);\r\n            if (_deps[_len] == 0) {\r\n                break;\r\n            } else {\r\n                _solverDepsFlag <<= 32;\r\n            }\r\n        }\r\n        assembly {\r\n            // reset length to actual number of dependencies:\r\n            mstore(_deps, _len)\r\n        }\r\n    }\r\n\r\n    /// @notice Returns storage pointer to where Storage data is located. \r\n    function data()\r\n      internal pure\r\n      returns (Storage storage _ptr)\r\n    {\r\n        assembly {\r\n            _ptr.slot := _WIT_FEEDS_DATA_SLOTHASH\r\n        }\r\n    }\r\n\r\n    function hash(string memory caption) internal pure returns (bytes4) {\r\n        return bytes4(keccak256(bytes(caption)));\r\n    }\r\n\r\n    function lastValidQueryId(IWitOracleQueriable witOracle, bytes4 feedId)\r\n        internal view \r\n        returns (uint256 _queryId)\r\n    {\r\n        _queryId = seekRecord(feedId).latestUpdateQueryId;\r\n        if (\r\n            _queryId == 0\r\n                || witOracle.getQueryResultStatus(_queryId) != Witnet.ResultStatus.NoErrors\r\n        ) {\r\n            _queryId = seekRecord(feedId).lastValidQueryId;\r\n        }\r\n    }\r\n\r\n    function latestUpdateQueryResultStatus(IWitOracleQueriable witOracle, bytes4 feedId)\r\n        internal view\r\n        returns (Witnet.ResultStatus)\r\n    {\r\n        uint256 _queryId = seekRecord(feedId).latestUpdateQueryId;\r\n        if (_queryId != 0) {\r\n            return witOracle.getQueryResultStatus(_queryId);\r\n        } else {\r\n            return Witnet.ResultStatus.NoErrors;\r\n        }\r\n    }\r\n\r\n    /// @notice Returns storage pointer to where Record for given feedId is located.\r\n    function seekRecord(bytes4 feedId) internal view returns (Record storage) {\r\n        return data().records[feedId];\r\n    }\r\n\r\n    function seekPriceSolver(bytes4 feedId) internal view returns (\r\n            address _solverAddress,\r\n            string[] memory _solverDeps\r\n        )\r\n    {\r\n        _solverAddress = seekRecord(feedId).solver;\r\n        bytes4[] memory _deps = depsOf(feedId);\r\n        _solverDeps = new string[](_deps.length);\r\n        for (uint _ix = 0; _ix < _deps.length; _ix ++) {\r\n            _solverDeps[_ix] = seekRecord(_deps[_ix]).caption;\r\n        }\r\n    }\r\n\r\n\r\n    // ================================================================================================\r\n    // --- Public functions ---------------------------------------------------------------------------\r\n\r\n    function deleteFeed(string calldata caption) public {\r\n        bytes4 feedId = hash(caption);\r\n        bytes4[] storage __ids = data().ids;\r\n        Record storage __record = seekRecord(feedId);\r\n        uint _index = __record.index;\r\n        require(_index != 0, \"unknown feed\");\r\n        bytes4 _lastFeedId = __ids[__ids.length - 1];\r\n        __ids[_index - 1] = _lastFeedId;\r\n        __ids.pop();\r\n        seekRecord(_lastFeedId).index = _index;\r\n        delete data().records[feedId];\r\n        emit IWitPriceFeedsLegacyAdmin.WitFeedDeleted(caption, feedId);\r\n    }\r\n\r\n    function deleteFeeds() public {\r\n        bytes4[] storage __ids = data().ids;\r\n        for (uint _ix = __ids.length; _ix > 0; _ix --) {\r\n            bytes4 _feedId = __ids[_ix - 1];\r\n            string memory _caption = data().records[_feedId].caption;\r\n            delete data().records[_feedId]; __ids.pop();\r\n            emit IWitPriceFeedsLegacyAdmin.WitFeedDeleted(_caption, _feedId);\r\n        }\r\n    }\r\n\r\n    function latestPrice(\r\n            IWitOracleQueriable witOracle,\r\n            bytes4 feedId\r\n        ) \r\n        public view \r\n        returns (IWitPriceFeedsLegacySolver.Price memory)\r\n    {\r\n        uint256 _queryId = lastValidQueryId(witOracle, feedId);\r\n        if (_queryId != 0) {\r\n            Witnet.DataResult memory _lastValidResult = witOracle.getQueryResult(_queryId);\r\n            return IWitPriceFeedsLegacySolver.Price({\r\n                value: _lastValidResult.fetchUint(),\r\n                timestamp: _lastValidResult.timestamp,\r\n                drTxHash: _lastValidResult.drTxHash,\r\n                latestStatus: _intoLatestUpdateStatus(latestUpdateQueryResultStatus(witOracle, feedId))\r\n            });\r\n        \r\n        } else {\r\n            address _solver = seekRecord(feedId).solver;\r\n            if (_solver != address(0)) {\r\n                // solhint-disable-next-line avoid-low-level-calls\r\n                (bool _success, bytes memory _result) = address(this).staticcall(abi.encodeWithSelector(\r\n                    IWitPriceFeedsLegacySolver.solve.selector,\r\n                    feedId\r\n                ));\r\n                if (!_success) {\r\n                    assembly {\r\n                        _result := add(_result, 4)\r\n                    }\r\n                    revert(string(abi.decode(_result, (string))));\r\n                } else {\r\n                    return abi.decode(_result, (IWitPriceFeedsLegacySolver.Price));\r\n                }\r\n            } else {\r\n                return IWitPriceFeedsLegacySolver.Price({\r\n                    value: 0,\r\n                    timestamp: Witnet.Timestamp.wrap(0),\r\n                    drTxHash: Witnet.TransactionHash.wrap(0),\r\n                    latestStatus: _intoLatestUpdateStatus(latestUpdateQueryResultStatus(witOracle, feedId))\r\n                });\r\n            }\r\n        }\r\n    }\r\n\r\n    function requestUpdate(\r\n            IWitOracleQueriable witOracle, \r\n            bytes4 feedId, \r\n            Witnet.QuerySLA memory querySLA,\r\n            uint256 evmUpdateRequestFee\r\n        )\r\n        public\r\n        returns (\r\n            uint256 _latestQueryId,\r\n            uint256 _evmUsedFunds\r\n        )\r\n    {\r\n        Record storage __feed = seekRecord(feedId);\r\n        _latestQueryId = __feed.latestUpdateQueryId;\r\n        \r\n        Witnet.ResultStatus _latestStatus = latestUpdateQueryResultStatus(witOracle, feedId);   \r\n        if (_latestStatus.keepWaiting()) {\r\n            uint72 _evmUpdateRequestCurrentFee = Witnet.QueryEvmReward.unwrap(\r\n                witOracle.getQueryEvmReward(_latestQueryId)\r\n            );\r\n            if (evmUpdateRequestFee > _evmUpdateRequestCurrentFee) {\r\n                // latest update is still pending, so just increase the reward\r\n                // accordingly to current tx gasprice:\r\n                _evmUsedFunds = (evmUpdateRequestFee - _evmUpdateRequestCurrentFee);\r\n                witOracle.upgradeQueryEvmReward{\r\n                    value: _evmUsedFunds\r\n                }(\r\n                    _latestQueryId\r\n                );\r\n            \r\n            } else {\r\n                _evmUsedFunds = 0;\r\n            }\r\n        \r\n        } else {\r\n            // Check if latest update ended successfully:\r\n            if (_latestStatus == Witnet.ResultStatus.NoErrors) {\r\n                // If so, remove previous last valid query from the WRB:\r\n                if (__feed.lastValidQueryId != 0) {\r\n                    try witOracle.deleteQuery(__feed.lastValidQueryId) returns (Witnet.QueryEvmReward _unusedReward) {\r\n                        evmUpdateRequestFee += Witnet.QueryEvmReward.unwrap(_unusedReward);\r\n\r\n                    } catch {}\r\n                }\r\n                __feed.lastValidQueryId = _latestQueryId;\r\n            } else {\r\n                // Otherwise, try to delete latest query, as it was faulty\r\n                // and we are about to post a new update request:\r\n                try witOracle.deleteQuery(_latestQueryId) returns (Witnet.QueryEvmReward _unsedReward) {\r\n                    evmUpdateRequestFee += Witnet.QueryEvmReward.unwrap(_unsedReward);\r\n                \r\n                } catch {}\r\n            }\r\n            // Post update request to the WRB:\r\n            _evmUsedFunds = evmUpdateRequestFee;\r\n            _latestQueryId = witOracle.queryData{\r\n                value: _evmUsedFunds\r\n            }(\r\n                Witnet.RadonHash.wrap(__feed.radHash),\r\n                querySLA\r\n            );\r\n            // Update latest query id:\r\n            __feed.latestUpdateQueryId = _latestQueryId;\r\n        }\r\n    }\r\n\r\n    function settleFeedRequest(\r\n            string calldata caption,\r\n            bytes32 radHash\r\n        )\r\n        public\r\n    {\r\n        bytes4 feedId = hash(caption);\r\n        Record storage __record = seekRecord(feedId);\r\n        if (__record.index == 0) {\r\n            // settle new feed:\r\n            __record.caption = caption;\r\n            __record.decimals = validateCaption(caption);\r\n            __record.index = data().ids.length + 1;\r\n            __record.radHash = radHash;\r\n            data().ids.push(feedId);\r\n        } else if (__record.radHash != radHash) {\r\n            // update radHash on existing feed:\r\n            __record.radHash = radHash;\r\n            __record.solver = address(0);\r\n        }\r\n        emit IWitPriceFeedsLegacyAdmin.WitFeedSettled(caption, feedId, radHash);\r\n    }\r\n\r\n    function settleFeedSolver(\r\n            string calldata caption, \r\n            address solver, \r\n            string[] calldata deps\r\n        )\r\n        public\r\n    {\r\n        bytes4 feedId = hash(caption);        \r\n        Record storage __record = seekRecord(feedId);\r\n        if (__record.index == 0) {\r\n            // settle new feed:\r\n            __record.caption = caption;\r\n            __record.decimals = validateCaption(caption);\r\n            __record.index = data().ids.length + 1;\r\n            __record.solver = solver;\r\n            data().ids.push(feedId);\r\n            \r\n        } else if (__record.solver != solver) {\r\n            // update radHash on existing feed:\r\n            __record.radHash = 0;\r\n            __record.solver = solver;\r\n        }\r\n        // validate solver first-level dependencies\r\n        {\r\n            // solhint-disable-next-line avoid-low-level-calls\r\n            (bool _success, bytes memory _reason) = solver.delegatecall(abi.encodeWithSelector(\r\n                IWitPriceFeedsLegacySolver.validate.selector,\r\n                feedId,\r\n                deps\r\n            ));\r\n            if (!_success) {\r\n                assembly {\r\n                    _reason := add(_reason, 4)\r\n                }\r\n                revert(string(abi.encodePacked(\r\n                    \"solver validation failed: \",\r\n                    string(abi.decode(_reason,(string)))\r\n                )));\r\n            }\r\n        }\r\n        // smoke-test the solver \r\n        {   \r\n            // solhint-disable-next-line avoid-low-level-calls\r\n            (bool _success, bytes memory _reason) = address(this).staticcall(abi.encodeWithSelector(\r\n                IWitPriceFeedsLegacySolver.solve.selector,\r\n                feedId\r\n            ));\r\n            if (!_success) {\r\n                assembly {\r\n                    _reason := add(_reason, 4)\r\n                }\r\n                revert(string(abi.encodePacked(\r\n                    \"smoke-test failed: \",\r\n                    string(abi.decode(_reason,(string)))\r\n                )));\r\n            }\r\n        }\r\n        emit IWitPriceFeedsLegacyAdmin.WitFeedSolverSettled(caption, feedId, solver);\r\n    }\r\n\r\n    function supportedFeeds() public view returns (\r\n            bytes4[] memory _ids,\r\n            string[] memory _captions,\r\n            bytes32[] memory _solvers\r\n        )\r\n    {\r\n        _ids = data().ids;\r\n        _captions = new string[](_ids.length);\r\n        _solvers = new bytes32[](_ids.length);\r\n        for (uint _ix = 0; _ix < _ids.length; _ix ++) {\r\n            Record storage __record = seekRecord(_ids[_ix]);\r\n            _captions[_ix] = __record.caption;\r\n            _solvers[_ix] = (\r\n                address(__record.solver) == address(0) \r\n                    ? __record.radHash \r\n                    : bytes32(bytes20(__record.solver))\r\n            );\r\n        }\r\n    }\r\n\r\n    // --- IWitPriceFeedsLegacySolver public functions -------------------------------------------------------------\r\n\r\n    function deployPriceSolver(\r\n            bytes calldata initcode,\r\n            bytes calldata constructorParams\r\n        )\r\n        public\r\n        returns (address _solver)\r\n    {\r\n        _solver = determinePriceSolverAddress(initcode, constructorParams);\r\n        if (_solver.code.length == 0) {\r\n            bytes memory _bytecode = _completeInitCode(initcode, constructorParams);\r\n            address _createdContract;\r\n            assembly {\r\n                _createdContract := create2(\r\n                    0, \r\n                    add(_bytecode, 0x20),\r\n                    mload(_bytecode), \r\n                    0\r\n                )\r\n            }\r\n            // assert(_solver == _createdContract); // fails on TEN chains\r\n            _solver = _createdContract;\r\n            require(\r\n                IWitPriceFeedsLegacySolver(_solver).specs() == type(IWitPriceFeedsLegacySolver).interfaceId,\r\n                \"uncompliant solver implementation\"\r\n            );\r\n        }\r\n    }\r\n\r\n    function determinePriceSolverAddress(\r\n            bytes calldata initcode,\r\n            bytes calldata constructorParams\r\n        )\r\n        public view\r\n        returns (address)\r\n    {\r\n        return address(\r\n            uint160(uint(keccak256(\r\n                abi.encodePacked(\r\n                    bytes1(0xff),\r\n                    address(this),\r\n                    bytes32(0),\r\n                    keccak256(_completeInitCode(initcode, constructorParams))\r\n                )\r\n            )))\r\n        );\r\n    }\r\n\r\n    function validateCaption(string calldata caption) public pure returns (uint8) {\r\n        Slices.Slice memory _caption = caption.toSlice();\r\n        Slices.Slice memory _delim = string(\"-\").toSlice();\r\n        string[] memory _parts = new string[](_caption.count(_delim) + 1);\r\n        for (uint _ix = 0; _ix < _parts.length; _ix ++) {\r\n            _parts[_ix] = _caption.split(_delim).toString();\r\n        }\r\n        (uint _decimals, bool _success) = Witnet.tryUint(_parts[_parts.length - 1]);\r\n        require(_success, \"bad decimals\");\r\n        return uint8(_decimals);\r\n    }\r\n\r\n    \r\n    // ================================================================================================\r\n    // --- Private functions --------------------------------------------------------------------------\r\n\r\n    function _completeInitCode(bytes calldata initcode, bytes calldata constructorParams)\r\n        private pure\r\n        returns (bytes memory)\r\n    {\r\n        return abi.encodePacked(\r\n            initcode,\r\n            constructorParams\r\n        );\r\n    }\r\n\r\n    function _intoLatestUpdateStatus(Witnet.ResultStatus _resultStatus)\r\n        private pure \r\n        returns (IWitPriceFeedsLegacySolver.LatestUpdateStatus)\r\n    {\r\n        return (_resultStatus.keepWaiting() \r\n            ? IWitPriceFeedsLegacySolver.LatestUpdateStatus.Awaiting\r\n            : (_resultStatus.hasErrors()\r\n                ? IWitPriceFeedsLegacySolver.LatestUpdateStatus.Error\r\n                : IWitPriceFeedsLegacySolver.LatestUpdateStatus.Ready\r\n            )\r\n        );\r\n    }\r\n\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\data\\WitPriceFeedsLegacyDataLib.sol",
  "ast": {
    "absolutePath": "project:/contracts/data/WitPriceFeedsLegacyDataLib.sol",
    "exportedSymbols": {
      "Bech32": [
        31372
      ],
      "IWitAppliance": [
        26514
      ],
      "IWitOracle": [
        26581
      ],
      "IWitOracleAppliance": [
        26593
      ],
      "IWitOracleLegacy": [
        28786
      ],
      "IWitOracleQueriable": [
        26795
      ],
      "IWitOracleQueriableEvents": [
        26892
      ],
      "IWitOracleRadonRegistry": [
        27394
      ],
      "IWitOracleRequest": [
        28922
      ],
      "IWitOracleRequestTemplate": [
        29115
      ],
      "IWitPriceFeedsLegacy": [
        29361
      ],
      "IWitPriceFeedsLegacyAdmin": [
        29469
      ],
      "IWitPriceFeedsLegacySolver": [
        29521
      ],
      "Secp256k1": [
        32535
      ],
      "Slices": [
        34366
      ],
      "WitOracle": [
        678
      ],
      "WitPriceFeedsLegacyDataLib": [
        26464
      ],
      "Witnet": [
        40741
      ],
      "WitnetBuffer": [
        42631
      ],
      "WitnetCBOR": [
        44174
      ]
    },
    "id": 26465,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 25113,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:62"
      },
      {
        "absolutePath": "project:/contracts/WitOracle.sol",
        "file": "../WitOracle.sol",
        "id": 25114,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 26465,
        "sourceUnit": 679,
        "src": "70:26:62",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/legacy/IWitPriceFeedsLegacy.sol",
        "file": "../interfaces/legacy/IWitPriceFeedsLegacy.sol",
        "id": 25115,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 26465,
        "sourceUnit": 29362,
        "src": "100:55:62",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/legacy/IWitPriceFeedsLegacyAdmin.sol",
        "file": "../interfaces/legacy/IWitPriceFeedsLegacyAdmin.sol",
        "id": 25116,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 26465,
        "sourceUnit": 29470,
        "src": "157:60:62",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/legacy/IWitPriceFeedsLegacySolver.sol",
        "file": "../interfaces/legacy/IWitPriceFeedsLegacySolver.sol",
        "id": 25117,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 26465,
        "sourceUnit": 29522,
        "src": "219:61:62",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/libs/Slices.sol",
        "file": "../libs/Slices.sol",
        "id": 25118,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 26465,
        "sourceUnit": 34367,
        "src": "282:28:62",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "WitPriceFeedsLegacyDataLib",
        "contractDependencies": [],
        "contractKind": "library",
        "documentation": {
          "id": 25119,
          "nodeType": "StructuredDocumentation",
          "src": "314:80:62",
          "text": "@title WitPriceFeedsLegacy data model.\n @author The Witnet Foundation."
        },
        "fullyImplemented": true,
        "id": 26464,
        "linearizedBaseContracts": [
          26464
        ],
        "name": "WitPriceFeedsLegacyDataLib",
        "nameLocation": "402:26:62",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "global": false,
            "id": 25122,
            "libraryName": {
              "id": 25120,
              "name": "Slices",
              "nameLocations": [
                "444:6:62"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 34366,
              "src": "444:6:62"
            },
            "nodeType": "UsingForDirective",
            "src": "438:24:62",
            "typeName": {
              "id": 25121,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "455:6:62",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            }
          },
          {
            "global": false,
            "id": 25126,
            "libraryName": {
              "id": 25123,
              "name": "Slices",
              "nameLocations": [
                "474:6:62"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 34366,
              "src": "474:6:62"
            },
            "nodeType": "UsingForDirective",
            "src": "468:30:62",
            "typeName": {
              "id": 25125,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 25124,
                "name": "Slices.Slice",
                "nameLocations": [
                  "485:6:62",
                  "492:5:62"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 32542,
                "src": "485:12:62"
              },
              "referencedDeclaration": 32542,
              "src": "485:12:62",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_Slice_$32542_storage_ptr",
                "typeString": "struct Slices.Slice"
              }
            }
          },
          {
            "global": false,
            "id": 25130,
            "libraryName": {
              "id": 25127,
              "name": "Witnet",
              "nameLocations": [
                "512:6:62"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "512:6:62"
            },
            "nodeType": "UsingForDirective",
            "src": "506:35:62",
            "typeName": {
              "id": 25129,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 25128,
                "name": "Witnet.DataResult",
                "nameLocations": [
                  "523:6:62",
                  "530:10:62"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37293,
                "src": "523:17:62"
              },
              "referencedDeclaration": 37293,
              "src": "523:17:62",
              "typeDescriptions": {
                "typeIdentifier": "t_struct$_DataResult_$37293_storage_ptr",
                "typeString": "struct Witnet.DataResult"
              }
            }
          },
          {
            "global": false,
            "id": 25134,
            "libraryName": {
              "id": 25131,
              "name": "Witnet",
              "nameLocations": [
                "553:6:62"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "553:6:62"
            },
            "nodeType": "UsingForDirective",
            "src": "547:32:62",
            "typeName": {
              "id": 25133,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 25132,
                "name": "Witnet.QueryId",
                "nameLocations": [
                  "564:6:62",
                  "571:7:62"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37151,
                "src": "564:14:62"
              },
              "referencedDeclaration": 37151,
              "src": "564:14:62",
              "typeDescriptions": {
                "typeIdentifier": "t_userDefinedValueType$_QueryId_$37151",
                "typeString": "Witnet.QueryId"
              }
            }
          },
          {
            "global": false,
            "id": 25138,
            "libraryName": {
              "id": 25135,
              "name": "Witnet",
              "nameLocations": [
                "591:6:62"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 40741,
              "src": "591:6:62"
            },
            "nodeType": "UsingForDirective",
            "src": "585:37:62",
            "typeName": {
              "id": 25137,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 25136,
                "name": "Witnet.ResultStatus",
                "nameLocations": [
                  "602:6:62",
                  "609:12:62"
                ],
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 37698,
                "src": "602:19:62"
              },
              "referencedDeclaration": 37698,
              "src": "602:19:62",
              "typeDescriptions": {
                "typeIdentifier": "t_enum$_ResultStatus_$37698",
                "typeString": "enum Witnet.ResultStatus"
              }
            }
          },
          {
            "constant": true,
            "id": 25141,
            "mutability": "constant",
            "name": "_WIT_FEEDS_DATA_SLOTHASH",
            "nameLocation": "659:24:62",
            "nodeType": "VariableDeclaration",
            "scope": 26464,
            "src": "634:176:62",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 25139,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "634:7:62",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "hexValue": "307865333665613837633438333430663263323363396531633966373266356335313635313834653735363833613464326131393134386535393634633164316666",
              "id": 25140,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "744:66:62",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_102870532649550640918916337984399476240450370322567595419840603618230916993535_by_1",
                "typeString": "int_const 1028...(70 digits omitted)...3535"
              },
              "value": "0xe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ff"
            },
            "visibility": "private"
          },
          {
            "canonicalName": "WitPriceFeedsLegacyDataLib.Storage",
            "id": 25152,
            "members": [
              {
                "constant": false,
                "id": 25143,
                "mutability": "mutable",
                "name": "reserved",
                "nameLocation": "853:8:62",
                "nodeType": "VariableDeclaration",
                "scope": 25152,
                "src": "845:16:62",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 25142,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "845:7:62",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 25146,
                "mutability": "mutable",
                "name": "ids",
                "nameLocation": "881:3:62",
                "nodeType": "VariableDeclaration",
                "scope": 25152,
                "src": "872:12:62",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                  "typeString": "bytes4[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 25144,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "872:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "id": 25145,
                  "nodeType": "ArrayTypeName",
                  "src": "872:8:62",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                    "typeString": "bytes4[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 25151,
                "mutability": "mutable",
                "name": "records",
                "nameLocation": "922:7:62",
                "nodeType": "VariableDeclaration",
                "scope": 25152,
                "src": "895:34:62",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$25171_storage_$",
                  "typeString": "mapping(bytes4 => struct WitPriceFeedsLegacyDataLib.Record)"
                },
                "typeName": {
                  "id": 25150,
                  "keyName": "",
                  "keyNameLocation": "-1:-1:-1",
                  "keyType": {
                    "id": 25147,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "904:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "895:26:62",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$25171_storage_$",
                    "typeString": "mapping(bytes4 => struct WitPriceFeedsLegacyDataLib.Record)"
                  },
                  "valueName": "",
                  "valueNameLocation": "-1:-1:-1",
                  "valueType": {
                    "id": 25149,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 25148,
                      "name": "Record",
                      "nameLocations": [
                        "914:6:62"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 25171,
                      "src": "914:6:62"
                    },
                    "referencedDeclaration": 25171,
                    "src": "914:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                    }
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Storage",
            "nameLocation": "826:7:62",
            "nodeType": "StructDefinition",
            "scope": 26464,
            "src": "819:118:62",
            "visibility": "public"
          },
          {
            "canonicalName": "WitPriceFeedsLegacyDataLib.Record",
            "id": 25171,
            "members": [
              {
                "constant": false,
                "id": 25154,
                "mutability": "mutable",
                "name": "caption",
                "nameLocation": "978:7:62",
                "nodeType": "VariableDeclaration",
                "scope": 25171,
                "src": "970:15:62",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 25153,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "970:6:62",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 25156,
                "mutability": "mutable",
                "name": "decimals",
                "nameLocation": "1004:8:62",
                "nodeType": "VariableDeclaration",
                "scope": 25171,
                "src": "996:16:62",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint8",
                  "typeString": "uint8"
                },
                "typeName": {
                  "id": 25155,
                  "name": "uint8",
                  "nodeType": "ElementaryTypeName",
                  "src": "996:5:62",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 25158,
                "mutability": "mutable",
                "name": "index",
                "nameLocation": "1031:5:62",
                "nodeType": "VariableDeclaration",
                "scope": 25171,
                "src": "1023:13:62",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 25157,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1023:7:62",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 25160,
                "mutability": "mutable",
                "name": "lastValidQueryId",
                "nameLocation": "1055:16:62",
                "nodeType": "VariableDeclaration",
                "scope": 25171,
                "src": "1047:24:62",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 25159,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1047:7:62",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 25162,
                "mutability": "mutable",
                "name": "latestUpdateQueryId",
                "nameLocation": "1090:19:62",
                "nodeType": "VariableDeclaration",
                "scope": 25171,
                "src": "1082:27:62",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 25161,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1082:7:62",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 25164,
                "mutability": "mutable",
                "name": "radHash",
                "nameLocation": "1128:7:62",
                "nodeType": "VariableDeclaration",
                "scope": 25171,
                "src": "1120:15:62",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 25163,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1120:7:62",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 25166,
                "mutability": "mutable",
                "name": "solver",
                "nameLocation": "1154:6:62",
                "nodeType": "VariableDeclaration",
                "scope": 25171,
                "src": "1146:14:62",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 25165,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "1146:7:62",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 25168,
                "mutability": "mutable",
                "name": "solverReductor",
                "nameLocation": "1250:14:62",
                "nodeType": "VariableDeclaration",
                "scope": 25171,
                "src": "1242:22:62",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_int256",
                  "typeString": "int256"
                },
                "typeName": {
                  "id": 25167,
                  "name": "int256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1242:6:62",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 25170,
                "mutability": "mutable",
                "name": "solverDepsFlag",
                "nameLocation": "1345:14:62",
                "nodeType": "VariableDeclaration",
                "scope": 25171,
                "src": "1337:22:62",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 25169,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "1337:7:62",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Record",
            "nameLocation": "952:6:62",
            "nodeType": "StructDefinition",
            "scope": 26464,
            "src": "945:469:62",
            "visibility": "public"
          },
          {
            "body": {
              "id": 25235,
              "nodeType": "Block",
              "src": "2125:510:62",
              "statements": [
                {
                  "assignments": [
                    25181
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25181,
                      "mutability": "mutable",
                      "name": "_solverDepsFlag",
                      "nameLocation": "2144:15:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25235,
                      "src": "2136:23:62",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 25180,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "2136:7:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25188,
                  "initialValue": {
                    "expression": {
                      "baseExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 25182,
                            "name": "data",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25245,
                            "src": "2162:4:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                              "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                            }
                          },
                          "id": 25183,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2162:6:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                            "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                          }
                        },
                        "id": 25184,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2169:7:62",
                        "memberName": "records",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25151,
                        "src": "2162:14:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$25171_storage_$",
                          "typeString": "mapping(bytes4 => struct WitPriceFeedsLegacyDataLib.Record storage ref)"
                        }
                      },
                      "id": 25186,
                      "indexExpression": {
                        "id": 25185,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25174,
                        "src": "2177:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "2162:22:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage ref"
                      }
                    },
                    "id": 25187,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "2185:14:62",
                    "memberName": "solverDepsFlag",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 25170,
                    "src": "2162:37:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2136:63:62"
                },
                {
                  "expression": {
                    "id": 25195,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 25189,
                      "name": "_deps",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25178,
                      "src": "2210:5:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                        "typeString": "bytes4[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "hexValue": "38",
                          "id": 25193,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2231:1:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_8_by_1",
                            "typeString": "int_const 8"
                          },
                          "value": "8"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_8_by_1",
                            "typeString": "int_const 8"
                          }
                        ],
                        "id": 25192,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "2218:12:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes4_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (bytes4[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 25190,
                            "name": "bytes4",
                            "nodeType": "ElementaryTypeName",
                            "src": "2222:6:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "id": 25191,
                          "nodeType": "ArrayTypeName",
                          "src": "2222:8:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                            "typeString": "bytes4[]"
                          }
                        }
                      },
                      "id": 25194,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2218:15:62",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                        "typeString": "bytes4[] memory"
                      }
                    },
                    "src": "2210:23:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                      "typeString": "bytes4[] memory"
                    }
                  },
                  "id": 25196,
                  "nodeType": "ExpressionStatement",
                  "src": "2210:23:62"
                },
                {
                  "assignments": [
                    25198
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25198,
                      "mutability": "mutable",
                      "name": "_len",
                      "nameLocation": "2249:4:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25235,
                      "src": "2244:9:62",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 25197,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "2244:4:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25199,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2244:9:62"
                },
                {
                  "body": {
                    "id": 25232,
                    "nodeType": "Block",
                    "src": "2298:203:62",
                    "statements": [
                      {
                        "expression": {
                          "id": 25217,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 25210,
                              "name": "_deps",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25178,
                              "src": "2313:5:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                "typeString": "bytes4[] memory"
                              }
                            },
                            "id": 25212,
                            "indexExpression": {
                              "id": 25211,
                              "name": "_len",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25198,
                              "src": "2319:4:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "2313:11:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 25215,
                                "name": "_solverDepsFlag",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25181,
                                "src": "2334:15:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 25214,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "2327:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes4_$",
                                "typeString": "type(bytes4)"
                              },
                              "typeName": {
                                "id": 25213,
                                "name": "bytes4",
                                "nodeType": "ElementaryTypeName",
                                "src": "2327:6:62",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 25216,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2327:23:62",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "src": "2313:37:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 25218,
                        "nodeType": "ExpressionStatement",
                        "src": "2313:37:62"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          },
                          "id": 25223,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "baseExpression": {
                              "id": 25219,
                              "name": "_deps",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25178,
                              "src": "2369:5:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                "typeString": "bytes4[] memory"
                              }
                            },
                            "id": 25221,
                            "indexExpression": {
                              "id": 25220,
                              "name": "_len",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25198,
                              "src": "2375:4:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2369:11:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 25222,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2384:1:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "2369:16:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 25230,
                          "nodeType": "Block",
                          "src": "2433:57:62",
                          "statements": [
                            {
                              "expression": {
                                "id": 25228,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 25226,
                                  "name": "_solverDepsFlag",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25181,
                                  "src": "2452:15:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "<<=",
                                "rightHandSide": {
                                  "hexValue": "3332",
                                  "id": 25227,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "2472:2:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_32_by_1",
                                    "typeString": "int_const 32"
                                  },
                                  "value": "32"
                                },
                                "src": "2452:22:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 25229,
                              "nodeType": "ExpressionStatement",
                              "src": "2452:22:62"
                            }
                          ]
                        },
                        "id": 25231,
                        "nodeType": "IfStatement",
                        "src": "2365:125:62",
                        "trueBody": {
                          "id": 25225,
                          "nodeType": "Block",
                          "src": "2387:40:62",
                          "statements": [
                            {
                              "id": 25224,
                              "nodeType": "Break",
                              "src": "2406:5:62"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 25206,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 25204,
                      "name": "_len",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25198,
                      "src": "2279:4:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "hexValue": "38",
                      "id": 25205,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2286:1:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_8_by_1",
                        "typeString": "int_const 8"
                      },
                      "value": "8"
                    },
                    "src": "2279:8:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 25233,
                  "initializationExpression": {
                    "expression": {
                      "id": 25202,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "id": 25200,
                        "name": "_len",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25198,
                        "src": "2269:4:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "hexValue": "30",
                        "id": 25201,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2276:1:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "2269:8:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 25203,
                    "nodeType": "ExpressionStatement",
                    "src": "2269:8:62"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 25208,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "2289:7:62",
                      "subExpression": {
                        "id": 25207,
                        "name": "_len",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25198,
                        "src": "2289:4:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 25209,
                    "nodeType": "ExpressionStatement",
                    "src": "2289:7:62"
                  },
                  "nodeType": "ForStatement",
                  "src": "2264:237:62"
                },
                {
                  "AST": {
                    "nativeSrc": "2520:108:62",
                    "nodeType": "YulBlock",
                    "src": "2520:108:62",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "_deps",
                              "nativeSrc": "2605:5:62",
                              "nodeType": "YulIdentifier",
                              "src": "2605:5:62"
                            },
                            {
                              "name": "_len",
                              "nativeSrc": "2612:4:62",
                              "nodeType": "YulIdentifier",
                              "src": "2612:4:62"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "2598:6:62",
                            "nodeType": "YulIdentifier",
                            "src": "2598:6:62"
                          },
                          "nativeSrc": "2598:19:62",
                          "nodeType": "YulFunctionCall",
                          "src": "2598:19:62"
                        },
                        "nativeSrc": "2598:19:62",
                        "nodeType": "YulExpressionStatement",
                        "src": "2598:19:62"
                      }
                    ]
                  },
                  "evmVersion": "prague",
                  "externalReferences": [
                    {
                      "declaration": 25178,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "2605:5:62",
                      "valueSize": 1
                    },
                    {
                      "declaration": 25198,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "2612:4:62",
                      "valueSize": 1
                    }
                  ],
                  "id": 25234,
                  "nodeType": "InlineAssembly",
                  "src": "2511:117:62"
                }
              ]
            },
            "documentation": {
              "id": 25172,
              "nodeType": "StructuredDocumentation",
              "src": "1644:398:62",
              "text": "@notice Returns array of feed ids from which given feed's value depends.\n @dev Returns empty array on either unsupported or not-routed feeds.\n @dev The maximum number of dependencies is hard-limited to 8, as to limit number\n @dev of SSTORE operations (`__storage().records[feedId].solverDepsFlag`), \n @dev no matter the actual number of depending feeds involved."
            },
            "id": 25236,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "depsOf",
            "nameLocation": "2057:6:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25175,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25174,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "2071:6:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25236,
                  "src": "2064:13:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 25173,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "2064:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2063:15:62"
            },
            "returnParameters": {
              "id": 25179,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25178,
                  "mutability": "mutable",
                  "name": "_deps",
                  "nameLocation": "2118:5:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25236,
                  "src": "2102:21:62",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 25176,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "2102:6:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 25177,
                    "nodeType": "ArrayTypeName",
                    "src": "2102:8:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2101:23:62"
            },
            "scope": 26464,
            "src": "2048:587:62",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 25244,
              "nodeType": "Block",
              "src": "2799:90:62",
              "statements": [
                {
                  "AST": {
                    "nativeSrc": "2819:63:62",
                    "nodeType": "YulBlock",
                    "src": "2819:63:62",
                    "statements": [
                      {
                        "nativeSrc": "2834:37:62",
                        "nodeType": "YulAssignment",
                        "src": "2834:37:62",
                        "value": {
                          "name": "_WIT_FEEDS_DATA_SLOTHASH",
                          "nativeSrc": "2847:24:62",
                          "nodeType": "YulIdentifier",
                          "src": "2847:24:62"
                        },
                        "variableNames": [
                          {
                            "name": "_ptr.slot",
                            "nativeSrc": "2834:9:62",
                            "nodeType": "YulIdentifier",
                            "src": "2834:9:62"
                          }
                        ]
                      }
                    ]
                  },
                  "evmVersion": "prague",
                  "externalReferences": [
                    {
                      "declaration": 25141,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "2847:24:62",
                      "valueSize": 1
                    },
                    {
                      "declaration": 25241,
                      "isOffset": false,
                      "isSlot": true,
                      "src": "2834:9:62",
                      "suffix": "slot",
                      "valueSize": 1
                    }
                  ],
                  "id": 25243,
                  "nodeType": "InlineAssembly",
                  "src": "2810:72:62"
                }
              ]
            },
            "documentation": {
              "id": 25237,
              "nodeType": "StructuredDocumentation",
              "src": "2643:70:62",
              "text": "@notice Returns storage pointer to where Storage data is located. "
            },
            "id": 25245,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "data",
            "nameLocation": "2728:4:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25238,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2732:2:62"
            },
            "returnParameters": {
              "id": 25242,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25241,
                  "mutability": "mutable",
                  "name": "_ptr",
                  "nameLocation": "2788:4:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25245,
                  "src": "2772:20:62",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                    "typeString": "struct WitPriceFeedsLegacyDataLib.Storage"
                  },
                  "typeName": {
                    "id": 25240,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 25239,
                      "name": "Storage",
                      "nameLocations": [
                        "2772:7:62"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 25152,
                      "src": "2772:7:62"
                    },
                    "referencedDeclaration": 25152,
                    "src": "2772:7:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Storage"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2771:22:62"
            },
            "scope": 26464,
            "src": "2719:170:62",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 25262,
              "nodeType": "Block",
              "src": "2965:59:62",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 25257,
                                "name": "caption",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25247,
                                "src": "3006:7:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "id": 25256,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "3000:5:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
                                "typeString": "type(bytes storage pointer)"
                              },
                              "typeName": {
                                "id": 25255,
                                "name": "bytes",
                                "nodeType": "ElementaryTypeName",
                                "src": "3000:5:62",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 25258,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3000:14:62",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "id": 25254,
                          "name": "keccak256",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4294967288,
                          "src": "2990:9:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                            "typeString": "function (bytes memory) pure returns (bytes32)"
                          }
                        },
                        "id": 25259,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2990:25:62",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 25253,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "2983:6:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_bytes4_$",
                        "typeString": "type(bytes4)"
                      },
                      "typeName": {
                        "id": 25252,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "2983:6:62",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 25260,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2983:33:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "functionReturnParameters": 25251,
                  "id": 25261,
                  "nodeType": "Return",
                  "src": "2976:40:62"
                }
              ]
            },
            "id": 25263,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nameLocation": "2906:4:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25248,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25247,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "2925:7:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25263,
                  "src": "2911:21:62",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 25246,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2911:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2910:23:62"
            },
            "returnParameters": {
              "id": 25251,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25250,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 25263,
                  "src": "2957:6:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 25249,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "2957:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2956:8:62"
            },
            "scope": 26464,
            "src": "2897:127:62",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 25301,
              "nodeType": "Block",
              "src": "3169:287:62",
              "statements": [
                {
                  "expression": {
                    "id": 25278,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 25273,
                      "name": "_queryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25271,
                      "src": "3180:8:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "arguments": [
                          {
                            "id": 25275,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25268,
                            "src": "3202:6:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "id": 25274,
                          "name": "seekRecord",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25352,
                          "src": "3191:10:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                            "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                          }
                        },
                        "id": 25276,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3191:18:62",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                        }
                      },
                      "id": 25277,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "3210:19:62",
                      "memberName": "latestUpdateQueryId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25162,
                      "src": "3191:38:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3180:49:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 25279,
                  "nodeType": "ExpressionStatement",
                  "src": "3180:49:62"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 25291,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 25282,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 25280,
                        "name": "_queryId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25271,
                        "src": "3258:8:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "hexValue": "30",
                        "id": 25281,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3270:1:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "3258:13:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_ResultStatus_$37698",
                        "typeString": "enum Witnet.ResultStatus"
                      },
                      "id": 25290,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "arguments": [
                          {
                            "id": 25285,
                            "name": "_queryId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25271,
                            "src": "3323:8:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "id": 25283,
                            "name": "witOracle",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25266,
                            "src": "3292:9:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                              "typeString": "contract IWitOracleQueriable"
                            }
                          },
                          "id": 25284,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "3302:20:62",
                          "memberName": "getQueryResultStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 26711,
                          "src": "3292:30:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_ResultStatus_$37698_$",
                            "typeString": "function (uint256) view external returns (enum Witnet.ResultStatus)"
                          }
                        },
                        "id": 25286,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3292:40:62",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResultStatus_$37698",
                          "typeString": "enum Witnet.ResultStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 25287,
                            "name": "Witnet",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 40741,
                            "src": "3336:6:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                              "typeString": "type(library Witnet)"
                            }
                          },
                          "id": 25288,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "3343:12:62",
                          "memberName": "ResultStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37698,
                          "src": "3336:19:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_ResultStatus_$37698_$",
                            "typeString": "type(enum Witnet.ResultStatus)"
                          }
                        },
                        "id": 25289,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "3356:8:62",
                        "memberName": "NoErrors",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 37375,
                        "src": "3336:28:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResultStatus_$37698",
                          "typeString": "enum Witnet.ResultStatus"
                        }
                      },
                      "src": "3292:72:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "3258:106:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 25300,
                  "nodeType": "IfStatement",
                  "src": "3240:209:62",
                  "trueBody": {
                    "id": 25299,
                    "nodeType": "Block",
                    "src": "3376:73:62",
                    "statements": [
                      {
                        "expression": {
                          "id": 25297,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 25292,
                            "name": "_queryId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25271,
                            "src": "3391:8:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 25294,
                                  "name": "feedId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25268,
                                  "src": "3413:6:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                ],
                                "id": 25293,
                                "name": "seekRecord",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25352,
                                "src": "3402:10:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                                  "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                                }
                              },
                              "id": 25295,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "3402:18:62",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 25296,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3421:16:62",
                            "memberName": "lastValidQueryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25160,
                            "src": "3402:35:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "3391:46:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 25298,
                        "nodeType": "ExpressionStatement",
                        "src": "3391:46:62"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 25302,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "lastValidQueryId",
            "nameLocation": "3041:16:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25269,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25266,
                  "mutability": "mutable",
                  "name": "witOracle",
                  "nameLocation": "3078:9:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25302,
                  "src": "3058:29:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                    "typeString": "contract IWitOracleQueriable"
                  },
                  "typeName": {
                    "id": 25265,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 25264,
                      "name": "IWitOracleQueriable",
                      "nameLocations": [
                        "3058:19:62"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 26795,
                      "src": "3058:19:62"
                    },
                    "referencedDeclaration": 26795,
                    "src": "3058:19:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                      "typeString": "contract IWitOracleQueriable"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25268,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "3096:6:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25302,
                  "src": "3089:13:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 25267,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "3089:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3057:46:62"
            },
            "returnParameters": {
              "id": 25272,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25271,
                  "mutability": "mutable",
                  "name": "_queryId",
                  "nameLocation": "3154:8:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25302,
                  "src": "3146:16:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 25270,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3146:7:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3145:18:62"
            },
            "scope": 26464,
            "src": "3032:424:62",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 25335,
              "nodeType": "Block",
              "src": "3616:247:62",
              "statements": [
                {
                  "assignments": [
                    25314
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25314,
                      "mutability": "mutable",
                      "name": "_queryId",
                      "nameLocation": "3635:8:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25335,
                      "src": "3627:16:62",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 25313,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "3627:7:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25319,
                  "initialValue": {
                    "expression": {
                      "arguments": [
                        {
                          "id": 25316,
                          "name": "feedId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25307,
                          "src": "3657:6:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        ],
                        "id": 25315,
                        "name": "seekRecord",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25352,
                        "src": "3646:10:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                          "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                        }
                      },
                      "id": 25317,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3646:18:62",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                      }
                    },
                    "id": 25318,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "3665:19:62",
                    "memberName": "latestUpdateQueryId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 25162,
                    "src": "3646:38:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3627:57:62"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 25322,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 25320,
                      "name": "_queryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25314,
                      "src": "3699:8:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 25321,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3711:1:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "3699:13:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 25333,
                    "nodeType": "Block",
                    "src": "3794:62:62",
                    "statements": [
                      {
                        "expression": {
                          "expression": {
                            "expression": {
                              "id": 25329,
                              "name": "Witnet",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 40741,
                              "src": "3816:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                "typeString": "type(library Witnet)"
                              }
                            },
                            "id": 25330,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3823:12:62",
                            "memberName": "ResultStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37698,
                            "src": "3816:19:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_ResultStatus_$37698_$",
                              "typeString": "type(enum Witnet.ResultStatus)"
                            }
                          },
                          "id": 25331,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "3836:8:62",
                          "memberName": "NoErrors",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 37375,
                          "src": "3816:28:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResultStatus_$37698",
                            "typeString": "enum Witnet.ResultStatus"
                          }
                        },
                        "functionReturnParameters": 25312,
                        "id": 25332,
                        "nodeType": "Return",
                        "src": "3809:35:62"
                      }
                    ]
                  },
                  "id": 25334,
                  "nodeType": "IfStatement",
                  "src": "3695:161:62",
                  "trueBody": {
                    "id": 25328,
                    "nodeType": "Block",
                    "src": "3714:74:62",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 25325,
                              "name": "_queryId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25314,
                              "src": "3767:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 25323,
                              "name": "witOracle",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25305,
                              "src": "3736:9:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                "typeString": "contract IWitOracleQueriable"
                              }
                            },
                            "id": 25324,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3746:20:62",
                            "memberName": "getQueryResultStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 26711,
                            "src": "3736:30:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_enum$_ResultStatus_$37698_$",
                              "typeString": "function (uint256) view external returns (enum Witnet.ResultStatus)"
                            }
                          },
                          "id": 25326,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "3736:40:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_ResultStatus_$37698",
                            "typeString": "enum Witnet.ResultStatus"
                          }
                        },
                        "functionReturnParameters": 25312,
                        "id": 25327,
                        "nodeType": "Return",
                        "src": "3729:47:62"
                      }
                    ]
                  }
                }
              ]
            },
            "id": 25336,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateQueryResultStatus",
            "nameLocation": "3473:29:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25308,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25305,
                  "mutability": "mutable",
                  "name": "witOracle",
                  "nameLocation": "3523:9:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25336,
                  "src": "3503:29:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                    "typeString": "contract IWitOracleQueriable"
                  },
                  "typeName": {
                    "id": 25304,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 25303,
                      "name": "IWitOracleQueriable",
                      "nameLocations": [
                        "3503:19:62"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 26795,
                      "src": "3503:19:62"
                    },
                    "referencedDeclaration": 26795,
                    "src": "3503:19:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                      "typeString": "contract IWitOracleQueriable"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25307,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "3541:6:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25336,
                  "src": "3534:13:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 25306,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "3534:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3502:46:62"
            },
            "returnParameters": {
              "id": 25312,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25311,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 25336,
                  "src": "3590:19:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ResultStatus_$37698",
                    "typeString": "enum Witnet.ResultStatus"
                  },
                  "typeName": {
                    "id": 25310,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 25309,
                      "name": "Witnet.ResultStatus",
                      "nameLocations": [
                        "3590:6:62",
                        "3597:12:62"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37698,
                      "src": "3590:19:62"
                    },
                    "referencedDeclaration": 37698,
                    "src": "3590:19:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ResultStatus_$37698",
                      "typeString": "enum Witnet.ResultStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3589:21:62"
            },
            "scope": 26464,
            "src": "3464:399:62",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 25351,
              "nodeType": "Block",
              "src": "4031:48:62",
              "statements": [
                {
                  "expression": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 25345,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25245,
                          "src": "4049:4:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 25346,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4049:6:62",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                        }
                      },
                      "id": 25347,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4056:7:62",
                      "memberName": "records",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25151,
                      "src": "4049:14:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$25171_storage_$",
                        "typeString": "mapping(bytes4 => struct WitPriceFeedsLegacyDataLib.Record storage ref)"
                      }
                    },
                    "id": 25349,
                    "indexExpression": {
                      "id": 25348,
                      "name": "feedId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25339,
                      "src": "4064:6:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "4049:22:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$25171_storage",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage ref"
                    }
                  },
                  "functionReturnParameters": 25344,
                  "id": 25350,
                  "nodeType": "Return",
                  "src": "4042:29:62"
                }
              ]
            },
            "documentation": {
              "id": 25337,
              "nodeType": "StructuredDocumentation",
              "src": "3871:80:62",
              "text": "@notice Returns storage pointer to where Record for given feedId is located."
            },
            "id": 25352,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "seekRecord",
            "nameLocation": "3966:10:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25340,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25339,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "3984:6:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25352,
                  "src": "3977:13:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 25338,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "3977:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3976:15:62"
            },
            "returnParameters": {
              "id": 25344,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25343,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 25352,
                  "src": "4015:14:62",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                    "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                  },
                  "typeName": {
                    "id": 25342,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 25341,
                      "name": "Record",
                      "nameLocations": [
                        "4015:6:62"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 25171,
                      "src": "4015:6:62"
                    },
                    "referencedDeclaration": 25171,
                    "src": "4015:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4014:16:62"
            },
            "scope": 26464,
            "src": "3957:122:62",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 25411,
              "nodeType": "Block",
              "src": "4245:294:62",
              "statements": [
                {
                  "expression": {
                    "id": 25367,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 25362,
                      "name": "_solverAddress",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25357,
                      "src": "4256:14:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "arguments": [
                          {
                            "id": 25364,
                            "name": "feedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25354,
                            "src": "4284:6:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "id": 25363,
                          "name": "seekRecord",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25352,
                          "src": "4273:10:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                            "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                          }
                        },
                        "id": 25365,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4273:18:62",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                        }
                      },
                      "id": 25366,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4292:6:62",
                      "memberName": "solver",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25166,
                      "src": "4273:25:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "4256:42:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 25368,
                  "nodeType": "ExpressionStatement",
                  "src": "4256:42:62"
                },
                {
                  "assignments": [
                    25373
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25373,
                      "mutability": "mutable",
                      "name": "_deps",
                      "nameLocation": "4325:5:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25411,
                      "src": "4309:21:62",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                        "typeString": "bytes4[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 25371,
                          "name": "bytes4",
                          "nodeType": "ElementaryTypeName",
                          "src": "4309:6:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 25372,
                        "nodeType": "ArrayTypeName",
                        "src": "4309:8:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                          "typeString": "bytes4[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25377,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 25375,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25354,
                        "src": "4340:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 25374,
                      "name": "depsOf",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25236,
                      "src": "4333:6:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_array$_t_bytes4_$dyn_memory_ptr_$",
                        "typeString": "function (bytes4) view returns (bytes4[] memory)"
                      }
                    },
                    "id": 25376,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4333:14:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                      "typeString": "bytes4[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4309:38:62"
                },
                {
                  "expression": {
                    "id": 25385,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 25378,
                      "name": "_solverDeps",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25360,
                      "src": "4358:11:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 25382,
                            "name": "_deps",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25373,
                            "src": "4385:5:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                              "typeString": "bytes4[] memory"
                            }
                          },
                          "id": 25383,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "4391:6:62",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "4385:12:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 25381,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "4372:12:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (string memory[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 25379,
                            "name": "string",
                            "nodeType": "ElementaryTypeName",
                            "src": "4376:6:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage_ptr",
                              "typeString": "string"
                            }
                          },
                          "id": 25380,
                          "nodeType": "ArrayTypeName",
                          "src": "4376:8:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                            "typeString": "string[]"
                          }
                        }
                      },
                      "id": 25384,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4372:26:62",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "src": "4358:40:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[] memory"
                    }
                  },
                  "id": 25386,
                  "nodeType": "ExpressionStatement",
                  "src": "4358:40:62"
                },
                {
                  "body": {
                    "id": 25409,
                    "nodeType": "Block",
                    "src": "4456:76:62",
                    "statements": [
                      {
                        "expression": {
                          "id": 25407,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 25398,
                              "name": "_solverDeps",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25360,
                              "src": "4471:11:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[] memory"
                              }
                            },
                            "id": 25400,
                            "indexExpression": {
                              "id": 25399,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25388,
                              "src": "4483:3:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "4471:16:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "arguments": [
                                {
                                  "baseExpression": {
                                    "id": 25402,
                                    "name": "_deps",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 25373,
                                    "src": "4501:5:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                      "typeString": "bytes4[] memory"
                                    }
                                  },
                                  "id": 25404,
                                  "indexExpression": {
                                    "id": 25403,
                                    "name": "_ix",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 25388,
                                    "src": "4507:3:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "4501:10:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                ],
                                "id": 25401,
                                "name": "seekRecord",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25352,
                                "src": "4490:10:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                                  "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                                }
                              },
                              "id": 25405,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "4490:22:62",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 25406,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "4513:7:62",
                            "memberName": "caption",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25154,
                            "src": "4490:30:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage",
                              "typeString": "string storage ref"
                            }
                          },
                          "src": "4471:49:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 25408,
                        "nodeType": "ExpressionStatement",
                        "src": "4471:49:62"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 25394,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 25391,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25388,
                      "src": "4428:3:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 25392,
                        "name": "_deps",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25373,
                        "src": "4434:5:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                          "typeString": "bytes4[] memory"
                        }
                      },
                      "id": 25393,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "4440:6:62",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "4434:12:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4428:18:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 25410,
                  "initializationExpression": {
                    "assignments": [
                      25388
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 25388,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "4419:3:62",
                        "nodeType": "VariableDeclaration",
                        "scope": 25410,
                        "src": "4414:8:62",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 25387,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "4414:4:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 25390,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 25389,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4425:1:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "4414:12:62"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 25396,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "4448:6:62",
                      "subExpression": {
                        "id": 25395,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25388,
                        "src": "4448:3:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 25397,
                    "nodeType": "ExpressionStatement",
                    "src": "4448:6:62"
                  },
                  "nodeType": "ForStatement",
                  "src": "4409:123:62"
                }
              ]
            },
            "id": 25412,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "seekPriceSolver",
            "nameLocation": "4096:15:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25355,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25354,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "4119:6:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25412,
                  "src": "4112:13:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 25353,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "4112:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4111:15:62"
            },
            "returnParameters": {
              "id": 25361,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25357,
                  "mutability": "mutable",
                  "name": "_solverAddress",
                  "nameLocation": "4172:14:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25412,
                  "src": "4164:22:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 25356,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4164:7:62",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25360,
                  "mutability": "mutable",
                  "name": "_solverDeps",
                  "nameLocation": "4217:11:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25412,
                  "src": "4201:27:62",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 25358,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "4201:6:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 25359,
                    "nodeType": "ArrayTypeName",
                    "src": "4201:8:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4149:90:62"
            },
            "scope": 26464,
            "src": "4087:452:62",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 25494,
              "nodeType": "Block",
              "src": "4813:516:62",
              "statements": [
                {
                  "assignments": [
                    25418
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25418,
                      "mutability": "mutable",
                      "name": "feedId",
                      "nameLocation": "4831:6:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25494,
                      "src": "4824:13:62",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "typeName": {
                        "id": 25417,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "4824:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25422,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 25420,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25414,
                        "src": "4845:7:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "id": 25419,
                      "name": "hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25263,
                      "src": "4840:4:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$",
                        "typeString": "function (string memory) pure returns (bytes4)"
                      }
                    },
                    "id": 25421,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4840:13:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4824:29:62"
                },
                {
                  "assignments": [
                    25427
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25427,
                      "mutability": "mutable",
                      "name": "__ids",
                      "nameLocation": "4881:5:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25494,
                      "src": "4864:22:62",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                        "typeString": "bytes4[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 25425,
                          "name": "bytes4",
                          "nodeType": "ElementaryTypeName",
                          "src": "4864:6:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 25426,
                        "nodeType": "ArrayTypeName",
                        "src": "4864:8:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                          "typeString": "bytes4[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25431,
                  "initialValue": {
                    "expression": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 25428,
                        "name": "data",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25245,
                        "src": "4889:4:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                          "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                        }
                      },
                      "id": 25429,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "4889:6:62",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                      }
                    },
                    "id": 25430,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "4896:3:62",
                    "memberName": "ids",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 25146,
                    "src": "4889:10:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                      "typeString": "bytes4[] storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4864:35:62"
                },
                {
                  "assignments": [
                    25434
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25434,
                      "mutability": "mutable",
                      "name": "__record",
                      "nameLocation": "4925:8:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25494,
                      "src": "4910:23:62",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                      },
                      "typeName": {
                        "id": 25433,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 25432,
                          "name": "Record",
                          "nameLocations": [
                            "4910:6:62"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 25171,
                          "src": "4910:6:62"
                        },
                        "referencedDeclaration": 25171,
                        "src": "4910:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25438,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 25436,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25418,
                        "src": "4947:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 25435,
                      "name": "seekRecord",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25352,
                      "src": "4936:10:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                        "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                      }
                    },
                    "id": 25437,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4936:18:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4910:44:62"
                },
                {
                  "assignments": [
                    25440
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25440,
                      "mutability": "mutable",
                      "name": "_index",
                      "nameLocation": "4970:6:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25494,
                      "src": "4965:11:62",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 25439,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "4965:4:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25443,
                  "initialValue": {
                    "expression": {
                      "id": 25441,
                      "name": "__record",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25434,
                      "src": "4979:8:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                      }
                    },
                    "id": 25442,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "4988:5:62",
                    "memberName": "index",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 25158,
                    "src": "4979:14:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4965:28:62"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 25447,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 25445,
                          "name": "_index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25440,
                          "src": "5012:6:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "hexValue": "30",
                          "id": 25446,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5022:1:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        },
                        "src": "5012:11:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "756e6b6e6f776e2066656564",
                        "id": 25448,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5025:14:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c94e87ddd6b6ec6ade1b6f4c2ab0b42f2565eebe130a7fb016f7716fc5871c5a",
                          "typeString": "literal_string \"unknown feed\""
                        },
                        "value": "unknown feed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c94e87ddd6b6ec6ade1b6f4c2ab0b42f2565eebe130a7fb016f7716fc5871c5a",
                          "typeString": "literal_string \"unknown feed\""
                        }
                      ],
                      "id": 25444,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "5004:7:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 25449,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5004:36:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 25450,
                  "nodeType": "ExpressionStatement",
                  "src": "5004:36:62"
                },
                {
                  "assignments": [
                    25452
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25452,
                      "mutability": "mutable",
                      "name": "_lastFeedId",
                      "nameLocation": "5058:11:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25494,
                      "src": "5051:18:62",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "typeName": {
                        "id": 25451,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "5051:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25459,
                  "initialValue": {
                    "baseExpression": {
                      "id": 25453,
                      "name": "__ids",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25427,
                      "src": "5072:5:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                        "typeString": "bytes4[] storage pointer"
                      }
                    },
                    "id": 25458,
                    "indexExpression": {
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 25457,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 25454,
                          "name": "__ids",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25427,
                          "src": "5078:5:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                            "typeString": "bytes4[] storage pointer"
                          }
                        },
                        "id": 25455,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5084:6:62",
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "src": "5078:12:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "hexValue": "31",
                        "id": 25456,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5093:1:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "5078:16:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "5072:23:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5051:44:62"
                },
                {
                  "expression": {
                    "id": 25466,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 25460,
                        "name": "__ids",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25427,
                        "src": "5106:5:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                          "typeString": "bytes4[] storage pointer"
                        }
                      },
                      "id": 25464,
                      "indexExpression": {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 25463,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 25461,
                          "name": "_index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25440,
                          "src": "5112:6:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "hexValue": "31",
                          "id": 25462,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "5121:1:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "5112:10:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "5106:17:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 25465,
                      "name": "_lastFeedId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25452,
                      "src": "5126:11:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "src": "5106:31:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "id": 25467,
                  "nodeType": "ExpressionStatement",
                  "src": "5106:31:62"
                },
                {
                  "expression": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 25468,
                        "name": "__ids",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25427,
                        "src": "5148:5:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                          "typeString": "bytes4[] storage pointer"
                        }
                      },
                      "id": 25470,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5154:3:62",
                      "memberName": "pop",
                      "nodeType": "MemberAccess",
                      "src": "5148:9:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_bytes4_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_bytes4_$dyn_storage_ptr_$",
                        "typeString": "function (bytes4[] storage pointer)"
                      }
                    },
                    "id": 25471,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5148:11:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 25472,
                  "nodeType": "ExpressionStatement",
                  "src": "5148:11:62"
                },
                {
                  "expression": {
                    "id": 25478,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "expression": {
                        "arguments": [
                          {
                            "id": 25474,
                            "name": "_lastFeedId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25452,
                            "src": "5181:11:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          ],
                          "id": 25473,
                          "name": "seekRecord",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25352,
                          "src": "5170:10:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                            "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                          }
                        },
                        "id": 25475,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5170:23:62",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                        }
                      },
                      "id": 25476,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberLocation": "5194:5:62",
                      "memberName": "index",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25158,
                      "src": "5170:29:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 25477,
                      "name": "_index",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25440,
                      "src": "5202:6:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5170:38:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 25479,
                  "nodeType": "ExpressionStatement",
                  "src": "5170:38:62"
                },
                {
                  "expression": {
                    "id": 25485,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "5219:29:62",
                    "subExpression": {
                      "baseExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 25480,
                            "name": "data",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25245,
                            "src": "5226:4:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                              "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                            }
                          },
                          "id": 25481,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5226:6:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                            "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                          }
                        },
                        "id": 25482,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "5233:7:62",
                        "memberName": "records",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25151,
                        "src": "5226:14:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$25171_storage_$",
                          "typeString": "mapping(bytes4 => struct WitPriceFeedsLegacyDataLib.Record storage ref)"
                        }
                      },
                      "id": 25484,
                      "indexExpression": {
                        "id": 25483,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25418,
                        "src": "5241:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "5226:22:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage ref"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 25486,
                  "nodeType": "ExpressionStatement",
                  "src": "5219:29:62"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 25490,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25414,
                        "src": "5305:7:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "id": 25491,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25418,
                        "src": "5314:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "expression": {
                        "id": 25487,
                        "name": "IWitPriceFeedsLegacyAdmin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 29469,
                        "src": "5264:25:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacyAdmin_$29469_$",
                          "typeString": "type(contract IWitPriceFeedsLegacyAdmin)"
                        }
                      },
                      "id": 25489,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5290:14:62",
                      "memberName": "WitFeedDeleted",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 29373,
                      "src": "5264:40:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes4_$returns$__$",
                        "typeString": "function (string memory,bytes4)"
                      }
                    },
                    "id": 25492,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5264:57:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 25493,
                  "nodeType": "EmitStatement",
                  "src": "5259:62:62"
                }
              ]
            },
            "functionSelector": "86ac03e0",
            "id": 25495,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deleteFeed",
            "nameLocation": "4770:10:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25415,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25414,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "4797:7:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25495,
                  "src": "4781:23:62",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 25413,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4781:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4780:25:62"
            },
            "returnParameters": {
              "id": 25416,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4813:0:62"
            },
            "scope": 26464,
            "src": "4761:568:62",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 25556,
              "nodeType": "Block",
              "src": "5367:377:62",
              "statements": [
                {
                  "assignments": [
                    25502
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25502,
                      "mutability": "mutable",
                      "name": "__ids",
                      "nameLocation": "5395:5:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25556,
                      "src": "5378:22:62",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                        "typeString": "bytes4[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 25500,
                          "name": "bytes4",
                          "nodeType": "ElementaryTypeName",
                          "src": "5378:6:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 25501,
                        "nodeType": "ArrayTypeName",
                        "src": "5378:8:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                          "typeString": "bytes4[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25506,
                  "initialValue": {
                    "expression": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 25503,
                        "name": "data",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25245,
                        "src": "5403:4:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                          "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                        }
                      },
                      "id": 25504,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "5403:6:62",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                      }
                    },
                    "id": 25505,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "5410:3:62",
                    "memberName": "ids",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 25146,
                    "src": "5403:10:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                      "typeString": "bytes4[] storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5378:35:62"
                },
                {
                  "body": {
                    "id": 25554,
                    "nodeType": "Block",
                    "src": "5471:266:62",
                    "statements": [
                      {
                        "assignments": [
                          25519
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 25519,
                            "mutability": "mutable",
                            "name": "_feedId",
                            "nameLocation": "5493:7:62",
                            "nodeType": "VariableDeclaration",
                            "scope": 25554,
                            "src": "5486:14:62",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            },
                            "typeName": {
                              "id": 25518,
                              "name": "bytes4",
                              "nodeType": "ElementaryTypeName",
                              "src": "5486:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 25525,
                        "initialValue": {
                          "baseExpression": {
                            "id": 25520,
                            "name": "__ids",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25502,
                            "src": "5503:5:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                              "typeString": "bytes4[] storage pointer"
                            }
                          },
                          "id": 25524,
                          "indexExpression": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 25523,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "id": 25521,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25508,
                              "src": "5509:3:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "hexValue": "31",
                              "id": 25522,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "5515:1:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "5509:7:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "5503:14:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "5486:31:62"
                      },
                      {
                        "assignments": [
                          25527
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 25527,
                            "mutability": "mutable",
                            "name": "_caption",
                            "nameLocation": "5546:8:62",
                            "nodeType": "VariableDeclaration",
                            "scope": 25554,
                            "src": "5532:22:62",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string"
                            },
                            "typeName": {
                              "id": 25526,
                              "name": "string",
                              "nodeType": "ElementaryTypeName",
                              "src": "5532:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage_ptr",
                                "typeString": "string"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 25534,
                        "initialValue": {
                          "expression": {
                            "baseExpression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 25528,
                                  "name": "data",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25245,
                                  "src": "5557:4:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                                  }
                                },
                                "id": 25529,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5557:6:62",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                                }
                              },
                              "id": 25530,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5564:7:62",
                              "memberName": "records",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25151,
                              "src": "5557:14:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$25171_storage_$",
                                "typeString": "mapping(bytes4 => struct WitPriceFeedsLegacyDataLib.Record storage ref)"
                              }
                            },
                            "id": 25532,
                            "indexExpression": {
                              "id": 25531,
                              "name": "_feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25519,
                              "src": "5572:7:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5557:23:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$25171_storage",
                              "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage ref"
                            }
                          },
                          "id": 25533,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "5581:7:62",
                          "memberName": "caption",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25154,
                          "src": "5557:31:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "5532:56:62"
                      },
                      {
                        "expression": {
                          "id": 25540,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "delete",
                          "prefix": true,
                          "src": "5603:30:62",
                          "subExpression": {
                            "baseExpression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 25535,
                                  "name": "data",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25245,
                                  "src": "5610:4:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                                  }
                                },
                                "id": 25536,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5610:6:62",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                                }
                              },
                              "id": 25537,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "5617:7:62",
                              "memberName": "records",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25151,
                              "src": "5610:14:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$25171_storage_$",
                                "typeString": "mapping(bytes4 => struct WitPriceFeedsLegacyDataLib.Record storage ref)"
                              }
                            },
                            "id": 25539,
                            "indexExpression": {
                              "id": 25538,
                              "name": "_feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25519,
                              "src": "5625:7:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "5610:23:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$25171_storage",
                              "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage ref"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 25541,
                        "nodeType": "ExpressionStatement",
                        "src": "5603:30:62"
                      },
                      {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "id": 25542,
                              "name": "__ids",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25502,
                              "src": "5635:5:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                                "typeString": "bytes4[] storage pointer"
                              }
                            },
                            "id": 25544,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5641:3:62",
                            "memberName": "pop",
                            "nodeType": "MemberAccess",
                            "src": "5635:9:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_bytes4_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_bytes4_$dyn_storage_ptr_$",
                              "typeString": "function (bytes4[] storage pointer)"
                            }
                          },
                          "id": 25545,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5635:11:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 25546,
                        "nodeType": "ExpressionStatement",
                        "src": "5635:11:62"
                      },
                      {
                        "eventCall": {
                          "arguments": [
                            {
                              "id": 25550,
                              "name": "_caption",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25527,
                              "src": "5707:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            {
                              "id": 25551,
                              "name": "_feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25519,
                              "src": "5717:7:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              },
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "expression": {
                              "id": 25547,
                              "name": "IWitPriceFeedsLegacyAdmin",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 29469,
                              "src": "5666:25:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacyAdmin_$29469_$",
                                "typeString": "type(contract IWitPriceFeedsLegacyAdmin)"
                              }
                            },
                            "id": 25549,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "5692:14:62",
                            "memberName": "WitFeedDeleted",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 29373,
                            "src": "5666:40:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes4_$returns$__$",
                              "typeString": "function (string memory,bytes4)"
                            }
                          },
                          "id": 25552,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5666:59:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 25553,
                        "nodeType": "EmitStatement",
                        "src": "5661:64:62"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 25514,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 25512,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25508,
                      "src": "5454:3:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 25513,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5460:1:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "5454:7:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 25555,
                  "initializationExpression": {
                    "assignments": [
                      25508
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 25508,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "5434:3:62",
                        "nodeType": "VariableDeclaration",
                        "scope": 25555,
                        "src": "5429:8:62",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 25507,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "5429:4:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 25511,
                    "initialValue": {
                      "expression": {
                        "id": 25509,
                        "name": "__ids",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25502,
                        "src": "5440:5:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                          "typeString": "bytes4[] storage pointer"
                        }
                      },
                      "id": 25510,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "5446:6:62",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "5440:12:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "5429:23:62"
                  },
                  "isSimpleCounterLoop": false,
                  "loopExpression": {
                    "expression": {
                      "id": 25516,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "--",
                      "prefix": false,
                      "src": "5463:6:62",
                      "subExpression": {
                        "id": 25515,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25508,
                        "src": "5463:3:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 25517,
                    "nodeType": "ExpressionStatement",
                    "src": "5463:6:62"
                  },
                  "nodeType": "ForStatement",
                  "src": "5424:313:62"
                }
              ]
            },
            "functionSelector": "e1c9e3c0",
            "id": 25557,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deleteFeeds",
            "nameLocation": "5346:11:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25496,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5357:2:62"
            },
            "returnParameters": {
              "id": 25497,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5367:0:62"
            },
            "scope": 26464,
            "src": "5337:407:62",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 25690,
              "nodeType": "Block",
              "src": "5943:1680:62",
              "statements": [
                {
                  "assignments": [
                    25569
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25569,
                      "mutability": "mutable",
                      "name": "_queryId",
                      "nameLocation": "5962:8:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25690,
                      "src": "5954:16:62",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 25568,
                        "name": "uint256",
                        "nodeType": "ElementaryTypeName",
                        "src": "5954:7:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25574,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 25571,
                        "name": "witOracle",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25560,
                        "src": "5990:9:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                          "typeString": "contract IWitOracleQueriable"
                        }
                      },
                      {
                        "id": 25572,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25562,
                        "src": "6001:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                          "typeString": "contract IWitOracleQueriable"
                        },
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 25570,
                      "name": "lastValidQueryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25302,
                      "src": "5973:16:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_contract$_IWitOracleQueriable_$26795_$_t_bytes4_$returns$_t_uint256_$",
                        "typeString": "function (contract IWitOracleQueriable,bytes4) view returns (uint256)"
                      }
                    },
                    "id": 25573,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5973:35:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5954:54:62"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 25577,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 25575,
                      "name": "_queryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25569,
                      "src": "6023:8:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 25576,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6035:1:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "6023:13:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 25688,
                    "nodeType": "Block",
                    "src": "6500:1116:62",
                    "statements": [
                      {
                        "assignments": [
                          25607
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 25607,
                            "mutability": "mutable",
                            "name": "_solver",
                            "nameLocation": "6523:7:62",
                            "nodeType": "VariableDeclaration",
                            "scope": 25688,
                            "src": "6515:15:62",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 25606,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "6515:7:62",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 25612,
                        "initialValue": {
                          "expression": {
                            "arguments": [
                              {
                                "id": 25609,
                                "name": "feedId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25562,
                                "src": "6544:6:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "id": 25608,
                              "name": "seekRecord",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25352,
                              "src": "6533:10:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                                "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                              }
                            },
                            "id": 25610,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6533:18:62",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                              "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                            }
                          },
                          "id": 25611,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "6552:6:62",
                          "memberName": "solver",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 25166,
                          "src": "6533:25:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "6515:43:62"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 25618,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 25613,
                            "name": "_solver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25607,
                            "src": "6577:7:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "arguments": [
                              {
                                "hexValue": "30",
                                "id": 25616,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "6596:1:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                }
                              ],
                              "id": 25615,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "6588:7:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 25614,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "6588:7:62",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 25617,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6588:10:62",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "6577:21:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 25686,
                          "nodeType": "Block",
                          "src": "7248:357:62",
                          "statements": [
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "hexValue": "30",
                                    "id": 25667,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "number",
                                    "lValueRequested": false,
                                    "nodeType": "Literal",
                                    "src": "7337:1:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    "value": "0"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "hexValue": "30",
                                        "id": 25671,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "7394:1:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        },
                                        "value": "0"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        }
                                      ],
                                      "expression": {
                                        "expression": {
                                          "id": 25668,
                                          "name": "Witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 40741,
                                          "src": "7372:6:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                            "typeString": "type(library Witnet)"
                                          }
                                        },
                                        "id": 25669,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "7379:9:62",
                                        "memberName": "Timestamp",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 37157,
                                        "src": "7372:16:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_userDefinedValueType$_Timestamp_$37157_$",
                                          "typeString": "type(Witnet.Timestamp)"
                                        }
                                      },
                                      "id": 25670,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "7389:4:62",
                                      "memberName": "wrap",
                                      "nodeType": "MemberAccess",
                                      "src": "7372:21:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_wrap_pure$_t_uint64_$returns$_t_userDefinedValueType$_Timestamp_$37157_$",
                                        "typeString": "function (uint64) pure returns (Witnet.Timestamp)"
                                      }
                                    },
                                    "id": 25672,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "7372:24:62",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                      "typeString": "Witnet.Timestamp"
                                    }
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "hexValue": "30",
                                        "id": 25676,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "7457:1:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        },
                                        "value": "0"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        }
                                      ],
                                      "expression": {
                                        "expression": {
                                          "id": 25673,
                                          "name": "Witnet",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 40741,
                                          "src": "7429:6:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                            "typeString": "type(library Witnet)"
                                          }
                                        },
                                        "id": 25674,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "7436:15:62",
                                        "memberName": "TransactionHash",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 37159,
                                        "src": "7429:22:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_userDefinedValueType$_TransactionHash_$37159_$",
                                          "typeString": "type(Witnet.TransactionHash)"
                                        }
                                      },
                                      "id": 25675,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "7452:4:62",
                                      "memberName": "wrap",
                                      "nodeType": "MemberAccess",
                                      "src": "7429:27:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_TransactionHash_$37159_$",
                                        "typeString": "function (bytes32) pure returns (Witnet.TransactionHash)"
                                      }
                                    },
                                    "id": 25677,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "7429:30:62",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                      "typeString": "Witnet.TransactionHash"
                                    }
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "id": 25680,
                                            "name": "witOracle",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 25560,
                                            "src": "7550:9:62",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                              "typeString": "contract IWitOracleQueriable"
                                            }
                                          },
                                          {
                                            "id": 25681,
                                            "name": "feedId",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 25562,
                                            "src": "7561:6:62",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                              "typeString": "contract IWitOracleQueriable"
                                            },
                                            {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          ],
                                          "id": 25679,
                                          "name": "latestUpdateQueryResultStatus",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 25336,
                                          "src": "7520:29:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_view$_t_contract$_IWitOracleQueriable_$26795_$_t_bytes4_$returns$_t_enum$_ResultStatus_$37698_$",
                                            "typeString": "function (contract IWitOracleQueriable,bytes4) view returns (enum Witnet.ResultStatus)"
                                          }
                                        },
                                        "id": 25682,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7520:48:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_enum$_ResultStatus_$37698",
                                          "typeString": "enum Witnet.ResultStatus"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_enum$_ResultStatus_$37698",
                                          "typeString": "enum Witnet.ResultStatus"
                                        }
                                      ],
                                      "id": 25678,
                                      "name": "_intoLatestUpdateStatus",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 26463,
                                      "src": "7496:23:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_enum$_ResultStatus_$37698_$returns$_t_enum$_LatestUpdateStatus_$29477_$",
                                        "typeString": "function (enum Witnet.ResultStatus) pure returns (enum IWitPriceFeedsLegacySolver.LatestUpdateStatus)"
                                      }
                                    },
                                    "id": 25683,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "7496:73:62",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                      "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_rational_0_by_1",
                                      "typeString": "int_const 0"
                                    },
                                    {
                                      "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                      "typeString": "Witnet.Timestamp"
                                    },
                                    {
                                      "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                      "typeString": "Witnet.TransactionHash"
                                    },
                                    {
                                      "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                      "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                                    }
                                  ],
                                  "expression": {
                                    "id": 25665,
                                    "name": "IWitPriceFeedsLegacySolver",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 29521,
                                    "src": "7274:26:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                      "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                    }
                                  },
                                  "id": 25666,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "7301:5:62",
                                  "memberName": "Price",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 29489,
                                  "src": "7274:32:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_struct$_Price_$29489_storage_ptr_$",
                                    "typeString": "type(struct IWitPriceFeedsLegacySolver.Price storage pointer)"
                                  }
                                },
                                "id": 25684,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "structConstructorCall",
                                "lValueRequested": false,
                                "nameLocations": [
                                  "7330:5:62",
                                  "7361:9:62",
                                  "7419:8:62",
                                  "7482:12:62"
                                ],
                                "names": [
                                  "value",
                                  "timestamp",
                                  "drTxHash",
                                  "latestStatus"
                                ],
                                "nodeType": "FunctionCall",
                                "src": "7274:315:62",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                                  "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                                }
                              },
                              "functionReturnParameters": 25567,
                              "id": 25685,
                              "nodeType": "Return",
                              "src": "7267:322:62"
                            }
                          ]
                        },
                        "id": 25687,
                        "nodeType": "IfStatement",
                        "src": "6573:1032:62",
                        "trueBody": {
                          "id": 25664,
                          "nodeType": "Block",
                          "src": "6600:642:62",
                          "statements": [
                            {
                              "assignments": [
                                25620,
                                25622
                              ],
                              "declarations": [
                                {
                                  "constant": false,
                                  "id": 25620,
                                  "mutability": "mutable",
                                  "name": "_success",
                                  "nameLocation": "6693:8:62",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 25664,
                                  "src": "6688:13:62",
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  },
                                  "typeName": {
                                    "id": 25619,
                                    "name": "bool",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "6688:4:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "visibility": "internal"
                                },
                                {
                                  "constant": false,
                                  "id": 25622,
                                  "mutability": "mutable",
                                  "name": "_result",
                                  "nameLocation": "6716:7:62",
                                  "nodeType": "VariableDeclaration",
                                  "scope": 25664,
                                  "src": "6703:20:62",
                                  "stateVariable": false,
                                  "storageLocation": "memory",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes_memory_ptr",
                                    "typeString": "bytes"
                                  },
                                  "typeName": {
                                    "id": 25621,
                                    "name": "bytes",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "6703:5:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_storage_ptr",
                                      "typeString": "bytes"
                                    }
                                  },
                                  "visibility": "internal"
                                }
                              ],
                              "id": 25636,
                              "initialValue": {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "expression": {
                                            "id": 25630,
                                            "name": "IWitPriceFeedsLegacySolver",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 29521,
                                            "src": "6797:26:62",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                              "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                            }
                                          },
                                          "id": 25631,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberLocation": "6824:5:62",
                                          "memberName": "solve",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 29507,
                                          "src": "6797:32:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_declaration_view$_t_bytes4_$returns$_t_struct$_Price_$29489_memory_ptr_$",
                                            "typeString": "function IWitPriceFeedsLegacySolver.solve(bytes4) view returns (struct IWitPriceFeedsLegacySolver.Price memory)"
                                          }
                                        },
                                        "id": 25632,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "6830:8:62",
                                        "memberName": "selector",
                                        "nodeType": "MemberAccess",
                                        "src": "6797:41:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      },
                                      {
                                        "id": 25633,
                                        "name": "feedId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 25562,
                                        "src": "6861:6:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      ],
                                      "expression": {
                                        "id": 25628,
                                        "name": "abi",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967295,
                                        "src": "6752:3:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_abi",
                                          "typeString": "abi"
                                        }
                                      },
                                      "id": 25629,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "6756:18:62",
                                      "memberName": "encodeWithSelector",
                                      "nodeType": "MemberAccess",
                                      "src": "6752:22:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                                        "typeString": "function (bytes4) pure returns (bytes memory)"
                                      }
                                    },
                                    "id": 25634,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6752:134:62",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  ],
                                  "expression": {
                                    "arguments": [
                                      {
                                        "id": 25625,
                                        "name": "this",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967268,
                                        "src": "6735:4:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_WitPriceFeedsLegacyDataLib_$26464",
                                          "typeString": "library WitPriceFeedsLegacyDataLib"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_WitPriceFeedsLegacyDataLib_$26464",
                                          "typeString": "library WitPriceFeedsLegacyDataLib"
                                        }
                                      ],
                                      "id": 25624,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "6727:7:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_address_$",
                                        "typeString": "type(address)"
                                      },
                                      "typeName": {
                                        "id": 25623,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6727:7:62",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 25626,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6727:13:62",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "id": 25627,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "6741:10:62",
                                  "memberName": "staticcall",
                                  "nodeType": "MemberAccess",
                                  "src": "6727:24:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                                    "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                                  }
                                },
                                "id": 25635,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "6727:160:62",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                                  "typeString": "tuple(bool,bytes memory)"
                                }
                              },
                              "nodeType": "VariableDeclarationStatement",
                              "src": "6687:200:62"
                            },
                            {
                              "condition": {
                                "id": 25638,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "UnaryOperation",
                                "operator": "!",
                                "prefix": true,
                                "src": "6910:9:62",
                                "subExpression": {
                                  "id": 25637,
                                  "name": "_success",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25620,
                                  "src": "6911:8:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseBody": {
                                "id": 25662,
                                "nodeType": "Block",
                                "src": "7122:105:62",
                                "statements": [
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "id": 25656,
                                          "name": "_result",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 25622,
                                          "src": "7163:7:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          }
                                        },
                                        {
                                          "components": [
                                            {
                                              "expression": {
                                                "id": 25657,
                                                "name": "IWitPriceFeedsLegacySolver",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 29521,
                                                "src": "7173:26:62",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                                  "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                                }
                                              },
                                              "id": 25658,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberLocation": "7200:5:62",
                                              "memberName": "Price",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 29489,
                                              "src": "7173:32:62",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_struct$_Price_$29489_storage_ptr_$",
                                                "typeString": "type(struct IWitPriceFeedsLegacySolver.Price storage pointer)"
                                              }
                                            }
                                          ],
                                          "id": 25659,
                                          "isConstant": false,
                                          "isInlineArray": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "TupleExpression",
                                          "src": "7172:34:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_struct$_Price_$29489_storage_ptr_$",
                                            "typeString": "type(struct IWitPriceFeedsLegacySolver.Price storage pointer)"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_bytes_memory_ptr",
                                            "typeString": "bytes memory"
                                          },
                                          {
                                            "typeIdentifier": "t_type$_t_struct$_Price_$29489_storage_ptr_$",
                                            "typeString": "type(struct IWitPriceFeedsLegacySolver.Price storage pointer)"
                                          }
                                        ],
                                        "expression": {
                                          "id": 25654,
                                          "name": "abi",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967295,
                                          "src": "7152:3:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_abi",
                                            "typeString": "abi"
                                          }
                                        },
                                        "id": 25655,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "7156:6:62",
                                        "memberName": "decode",
                                        "nodeType": "MemberAccess",
                                        "src": "7152:10:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                          "typeString": "function () pure"
                                        }
                                      },
                                      "id": 25660,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "7152:55:62",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                                        "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                                      }
                                    },
                                    "functionReturnParameters": 25567,
                                    "id": 25661,
                                    "nodeType": "Return",
                                    "src": "7145:62:62"
                                  }
                                ]
                              },
                              "id": 25663,
                              "nodeType": "IfStatement",
                              "src": "6906:321:62",
                              "trueBody": {
                                "id": 25653,
                                "nodeType": "Block",
                                "src": "6921:195:62",
                                "statements": [
                                  {
                                    "AST": {
                                      "nativeSrc": "6953:76:62",
                                      "nodeType": "YulBlock",
                                      "src": "6953:76:62",
                                      "statements": [
                                        {
                                          "nativeSrc": "6980:26:62",
                                          "nodeType": "YulAssignment",
                                          "src": "6980:26:62",
                                          "value": {
                                            "arguments": [
                                              {
                                                "name": "_result",
                                                "nativeSrc": "6995:7:62",
                                                "nodeType": "YulIdentifier",
                                                "src": "6995:7:62"
                                              },
                                              {
                                                "kind": "number",
                                                "nativeSrc": "7004:1:62",
                                                "nodeType": "YulLiteral",
                                                "src": "7004:1:62",
                                                "type": "",
                                                "value": "4"
                                              }
                                            ],
                                            "functionName": {
                                              "name": "add",
                                              "nativeSrc": "6991:3:62",
                                              "nodeType": "YulIdentifier",
                                              "src": "6991:3:62"
                                            },
                                            "nativeSrc": "6991:15:62",
                                            "nodeType": "YulFunctionCall",
                                            "src": "6991:15:62"
                                          },
                                          "variableNames": [
                                            {
                                              "name": "_result",
                                              "nativeSrc": "6980:7:62",
                                              "nodeType": "YulIdentifier",
                                              "src": "6980:7:62"
                                            }
                                          ]
                                        }
                                      ]
                                    },
                                    "evmVersion": "prague",
                                    "externalReferences": [
                                      {
                                        "declaration": 25622,
                                        "isOffset": false,
                                        "isSlot": false,
                                        "src": "6980:7:62",
                                        "valueSize": 1
                                      },
                                      {
                                        "declaration": 25622,
                                        "isOffset": false,
                                        "isSlot": false,
                                        "src": "6995:7:62",
                                        "valueSize": 1
                                      }
                                    ],
                                    "id": 25639,
                                    "nodeType": "InlineAssembly",
                                    "src": "6944:85:62"
                                  },
                                  {
                                    "expression": {
                                      "arguments": [
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "id": 25645,
                                                  "name": "_result",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 25622,
                                                  "src": "7076:7:62",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                  }
                                                },
                                                {
                                                  "components": [
                                                    {
                                                      "id": 25647,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": true,
                                                      "lValueRequested": false,
                                                      "nodeType": "ElementaryTypeNameExpression",
                                                      "src": "7086:6:62",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                        "typeString": "type(string storage pointer)"
                                                      },
                                                      "typeName": {
                                                        "id": 25646,
                                                        "name": "string",
                                                        "nodeType": "ElementaryTypeName",
                                                        "src": "7086:6:62",
                                                        "typeDescriptions": {}
                                                      }
                                                    }
                                                  ],
                                                  "id": 25648,
                                                  "isConstant": false,
                                                  "isInlineArray": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "nodeType": "TupleExpression",
                                                  "src": "7085:8:62",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                    "typeString": "type(string storage pointer)"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                    "typeString": "type(string storage pointer)"
                                                  }
                                                ],
                                                "expression": {
                                                  "id": 25643,
                                                  "name": "abi",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 4294967295,
                                                  "src": "7065:3:62",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_abi",
                                                    "typeString": "abi"
                                                  }
                                                },
                                                "id": 25644,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "memberLocation": "7069:6:62",
                                                "memberName": "decode",
                                                "nodeType": "MemberAccess",
                                                "src": "7065:10:62",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                                  "typeString": "function () pure"
                                                }
                                              },
                                              "id": 25649,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "7065:29:62",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            ],
                                            "id": 25642,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "7058:6:62",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                              "typeString": "type(string storage pointer)"
                                            },
                                            "typeName": {
                                              "id": 25641,
                                              "name": "string",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "7058:6:62",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 25650,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "7058:37:62",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        ],
                                        "id": 25640,
                                        "name": "revert",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [
                                          4294967277,
                                          4294967277
                                        ],
                                        "referencedDeclaration": 4294967277,
                                        "src": "7051:6:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                          "typeString": "function (string memory) pure"
                                        }
                                      },
                                      "id": 25651,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "7051:45:62",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_tuple$__$",
                                        "typeString": "tuple()"
                                      }
                                    },
                                    "id": 25652,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7051:45:62"
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 25689,
                  "nodeType": "IfStatement",
                  "src": "6019:1597:62",
                  "trueBody": {
                    "id": 25605,
                    "nodeType": "Block",
                    "src": "6038:456:62",
                    "statements": [
                      {
                        "assignments": [
                          25582
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 25582,
                            "mutability": "mutable",
                            "name": "_lastValidResult",
                            "nameLocation": "6078:16:62",
                            "nodeType": "VariableDeclaration",
                            "scope": 25605,
                            "src": "6053:41:62",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                              "typeString": "struct Witnet.DataResult"
                            },
                            "typeName": {
                              "id": 25581,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 25580,
                                "name": "Witnet.DataResult",
                                "nameLocations": [
                                  "6053:6:62",
                                  "6060:10:62"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 37293,
                                "src": "6053:17:62"
                              },
                              "referencedDeclaration": 37293,
                              "src": "6053:17:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_DataResult_$37293_storage_ptr",
                                "typeString": "struct Witnet.DataResult"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 25587,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 25585,
                              "name": "_queryId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25569,
                              "src": "6122:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "id": 25583,
                              "name": "witOracle",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25560,
                              "src": "6097:9:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                "typeString": "contract IWitOracleQueriable"
                              }
                            },
                            "id": 25584,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "6107:14:62",
                            "memberName": "getQueryResult",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 26703,
                            "src": "6097:24:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_DataResult_$37293_memory_ptr_$",
                              "typeString": "function (uint256) view external returns (struct Witnet.DataResult memory)"
                            }
                          },
                          "id": 25586,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6097:34:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                            "typeString": "struct Witnet.DataResult memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "6053:78:62"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "id": 25590,
                                  "name": "_lastValidResult",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25582,
                                  "src": "6212:16:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                                    "typeString": "struct Witnet.DataResult memory"
                                  }
                                },
                                "id": 25591,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "6229:9:62",
                                "memberName": "fetchUint",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 38525,
                                "src": "6212:26:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_struct$_DataResult_$37293_memory_ptr_$returns$_t_uint64_$attached_to$_t_struct$_DataResult_$37293_memory_ptr_$",
                                  "typeString": "function (struct Witnet.DataResult memory) pure returns (uint64)"
                                }
                              },
                              "id": 25592,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6212:28:62",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              }
                            },
                            {
                              "expression": {
                                "id": 25593,
                                "name": "_lastValidResult",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25582,
                                "src": "6270:16:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                                  "typeString": "struct Witnet.DataResult memory"
                                }
                              },
                              "id": 25594,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "6287:9:62",
                              "memberName": "timestamp",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37289,
                              "src": "6270:26:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                "typeString": "Witnet.Timestamp"
                              }
                            },
                            {
                              "expression": {
                                "id": 25595,
                                "name": "_lastValidResult",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25582,
                                "src": "6325:16:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_DataResult_$37293_memory_ptr",
                                  "typeString": "struct Witnet.DataResult memory"
                                }
                              },
                              "id": 25596,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "6342:8:62",
                              "memberName": "drTxHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37284,
                              "src": "6325:25:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                "typeString": "Witnet.TransactionHash"
                              }
                            },
                            {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "id": 25599,
                                      "name": "witOracle",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 25560,
                                      "src": "6437:9:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                        "typeString": "contract IWitOracleQueriable"
                                      }
                                    },
                                    {
                                      "id": 25600,
                                      "name": "feedId",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 25562,
                                      "src": "6448:6:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                        "typeString": "contract IWitOracleQueriable"
                                      },
                                      {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    ],
                                    "id": 25598,
                                    "name": "latestUpdateQueryResultStatus",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 25336,
                                    "src": "6407:29:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_view$_t_contract$_IWitOracleQueriable_$26795_$_t_bytes4_$returns$_t_enum$_ResultStatus_$37698_$",
                                      "typeString": "function (contract IWitOracleQueriable,bytes4) view returns (enum Witnet.ResultStatus)"
                                    }
                                  },
                                  "id": 25601,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "6407:48:62",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_enum$_ResultStatus_$37698",
                                    "typeString": "enum Witnet.ResultStatus"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_enum$_ResultStatus_$37698",
                                    "typeString": "enum Witnet.ResultStatus"
                                  }
                                ],
                                "id": 25597,
                                "name": "_intoLatestUpdateStatus",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26463,
                                "src": "6383:23:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_pure$_t_enum$_ResultStatus_$37698_$returns$_t_enum$_LatestUpdateStatus_$29477_$",
                                  "typeString": "function (enum Witnet.ResultStatus) pure returns (enum IWitPriceFeedsLegacySolver.LatestUpdateStatus)"
                                }
                              },
                              "id": 25602,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6383:73:62",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint64",
                                "typeString": "uint64"
                              },
                              {
                                "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                                "typeString": "Witnet.Timestamp"
                              },
                              {
                                "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                                "typeString": "Witnet.TransactionHash"
                              },
                              {
                                "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                              }
                            ],
                            "expression": {
                              "id": 25588,
                              "name": "IWitPriceFeedsLegacySolver",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 29521,
                              "src": "6153:26:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                              }
                            },
                            "id": 25589,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "6180:5:62",
                            "memberName": "Price",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 29489,
                            "src": "6153:32:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_struct$_Price_$29489_storage_ptr_$",
                              "typeString": "type(struct IWitPriceFeedsLegacySolver.Price storage pointer)"
                            }
                          },
                          "id": 25603,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "structConstructorCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "6205:5:62",
                            "6259:9:62",
                            "6315:8:62",
                            "6369:12:62"
                          ],
                          "names": [
                            "value",
                            "timestamp",
                            "drTxHash",
                            "latestStatus"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "6153:319:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                            "typeString": "struct IWitPriceFeedsLegacySolver.Price memory"
                          }
                        },
                        "functionReturnParameters": 25567,
                        "id": 25604,
                        "nodeType": "Return",
                        "src": "6146:326:62"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "84ee2411",
            "id": 25691,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestPrice",
            "nameLocation": "5761:11:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25563,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25560,
                  "mutability": "mutable",
                  "name": "witOracle",
                  "nameLocation": "5807:9:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25691,
                  "src": "5787:29:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                    "typeString": "contract IWitOracleQueriable"
                  },
                  "typeName": {
                    "id": 25559,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 25558,
                      "name": "IWitOracleQueriable",
                      "nameLocations": [
                        "5787:19:62"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 26795,
                      "src": "5787:19:62"
                    },
                    "referencedDeclaration": 26795,
                    "src": "5787:19:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                      "typeString": "contract IWitOracleQueriable"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25562,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "5838:6:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25691,
                  "src": "5831:13:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 25561,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "5831:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5772:83:62"
            },
            "returnParameters": {
              "id": 25567,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25566,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 25691,
                  "src": "5897:39:62",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                    "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                  },
                  "typeName": {
                    "id": 25565,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 25564,
                      "name": "IWitPriceFeedsLegacySolver.Price",
                      "nameLocations": [
                        "5897:26:62",
                        "5924:5:62"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29489,
                      "src": "5897:32:62"
                    },
                    "referencedDeclaration": 29489,
                    "src": "5897:32:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Price_$29489_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5896:41:62"
            },
            "scope": 26464,
            "src": "5752:1871:62",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 25860,
              "nodeType": "Block",
              "src": "7950:2406:62",
              "statements": [
                {
                  "assignments": [
                    25710
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25710,
                      "mutability": "mutable",
                      "name": "__feed",
                      "nameLocation": "7976:6:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25860,
                      "src": "7961:21:62",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                      },
                      "typeName": {
                        "id": 25709,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 25708,
                          "name": "Record",
                          "nameLocations": [
                            "7961:6:62"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 25171,
                          "src": "7961:6:62"
                        },
                        "referencedDeclaration": 25171,
                        "src": "7961:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25714,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 25712,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25696,
                        "src": "7996:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 25711,
                      "name": "seekRecord",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25352,
                      "src": "7985:10:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                        "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                      }
                    },
                    "id": 25713,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7985:18:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7961:42:62"
                },
                {
                  "expression": {
                    "id": 25718,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 25715,
                      "name": "_latestQueryId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25704,
                      "src": "8014:14:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 25716,
                        "name": "__feed",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25710,
                        "src": "8031:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                        }
                      },
                      "id": 25717,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8038:19:62",
                      "memberName": "latestUpdateQueryId",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25162,
                      "src": "8031:26:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8014:43:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 25719,
                  "nodeType": "ExpressionStatement",
                  "src": "8014:43:62"
                },
                {
                  "assignments": [
                    25724
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25724,
                      "mutability": "mutable",
                      "name": "_latestStatus",
                      "nameLocation": "8098:13:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25860,
                      "src": "8078:33:62",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ResultStatus_$37698",
                        "typeString": "enum Witnet.ResultStatus"
                      },
                      "typeName": {
                        "id": 25723,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 25722,
                          "name": "Witnet.ResultStatus",
                          "nameLocations": [
                            "8078:6:62",
                            "8085:12:62"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 37698,
                          "src": "8078:19:62"
                        },
                        "referencedDeclaration": 37698,
                        "src": "8078:19:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResultStatus_$37698",
                          "typeString": "enum Witnet.ResultStatus"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25729,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 25726,
                        "name": "witOracle",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25694,
                        "src": "8144:9:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                          "typeString": "contract IWitOracleQueriable"
                        }
                      },
                      {
                        "id": 25727,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25696,
                        "src": "8155:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                          "typeString": "contract IWitOracleQueriable"
                        },
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 25725,
                      "name": "latestUpdateQueryResultStatus",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25336,
                      "src": "8114:29:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_contract$_IWitOracleQueriable_$26795_$_t_bytes4_$returns$_t_enum$_ResultStatus_$37698_$",
                        "typeString": "function (contract IWitOracleQueriable,bytes4) view returns (enum Witnet.ResultStatus)"
                      }
                    },
                    "id": 25728,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8114:48:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ResultStatus_$37698",
                      "typeString": "enum Witnet.ResultStatus"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "8078:84:62"
                },
                {
                  "condition": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 25730,
                        "name": "_latestStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25724,
                        "src": "8180:13:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_ResultStatus_$37698",
                          "typeString": "enum Witnet.ResultStatus"
                        }
                      },
                      "id": 25731,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "8194:11:62",
                      "memberName": "keepWaiting",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 38959,
                      "src": "8180:25:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_enum$_ResultStatus_$37698_$returns$_t_bool_$attached_to$_t_enum$_ResultStatus_$37698_$",
                        "typeString": "function (enum Witnet.ResultStatus) pure returns (bool)"
                      }
                    },
                    "id": 25732,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8180:27:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 25858,
                    "nodeType": "Block",
                    "src": "8941:1408:62",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_enum$_ResultStatus_$37698",
                            "typeString": "enum Witnet.ResultStatus"
                          },
                          "id": 25774,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 25770,
                            "name": "_latestStatus",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25724,
                            "src": "9019:13:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResultStatus_$37698",
                              "typeString": "enum Witnet.ResultStatus"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "expression": {
                              "expression": {
                                "id": 25771,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "9036:6:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 25772,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "9043:12:62",
                              "memberName": "ResultStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37698,
                              "src": "9036:19:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_enum$_ResultStatus_$37698_$",
                                "typeString": "type(enum Witnet.ResultStatus)"
                              }
                            },
                            "id": 25773,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "9056:8:62",
                            "memberName": "NoErrors",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 37375,
                            "src": "9036:28:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_enum$_ResultStatus_$37698",
                              "typeString": "enum Witnet.ResultStatus"
                            }
                          },
                          "src": "9019:45:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 25831,
                          "nodeType": "Block",
                          "src": "9540:399:62",
                          "statements": [
                            {
                              "clauses": [
                                {
                                  "block": {
                                    "id": 25826,
                                    "nodeType": "Block",
                                    "src": "9789:126:62",
                                    "statements": [
                                      {
                                        "expression": {
                                          "id": 25824,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftHandSide": {
                                            "id": 25818,
                                            "name": "evmUpdateRequestFee",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 25701,
                                            "src": "9812:19:62",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "nodeType": "Assignment",
                                          "operator": "+=",
                                          "rightHandSide": {
                                            "arguments": [
                                              {
                                                "id": 25822,
                                                "name": "_unsedReward",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 25816,
                                                "src": "9864:12:62",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                                  "typeString": "Witnet.QueryEvmReward"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                                  "typeString": "Witnet.QueryEvmReward"
                                                }
                                              ],
                                              "expression": {
                                                "expression": {
                                                  "id": 25819,
                                                  "name": "Witnet",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 40741,
                                                  "src": "9835:6:62",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                                    "typeString": "type(library Witnet)"
                                                  }
                                                },
                                                "id": 25820,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberLocation": "9842:14:62",
                                                "memberName": "QueryEvmReward",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 37147,
                                                "src": "9835:21:62",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                                  "typeString": "type(Witnet.QueryEvmReward)"
                                                }
                                              },
                                              "id": 25821,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "memberLocation": "9857:6:62",
                                              "memberName": "unwrap",
                                              "nodeType": "MemberAccess",
                                              "src": "9835:28:62",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryEvmReward_$37147_$returns$_t_uint72_$",
                                                "typeString": "function (Witnet.QueryEvmReward) pure returns (uint72)"
                                              }
                                            },
                                            "id": 25823,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "9835:42:62",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint72",
                                              "typeString": "uint72"
                                            }
                                          },
                                          "src": "9812:65:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        },
                                        "id": 25825,
                                        "nodeType": "ExpressionStatement",
                                        "src": "9812:65:62"
                                      }
                                    ]
                                  },
                                  "errorName": "",
                                  "id": 25827,
                                  "nodeType": "TryCatchClause",
                                  "parameters": {
                                    "id": 25817,
                                    "nodeType": "ParameterList",
                                    "parameters": [
                                      {
                                        "constant": false,
                                        "id": 25816,
                                        "mutability": "mutable",
                                        "name": "_unsedReward",
                                        "nameLocation": "9775:12:62",
                                        "nodeType": "VariableDeclaration",
                                        "scope": 25827,
                                        "src": "9753:34:62",
                                        "stateVariable": false,
                                        "storageLocation": "default",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                          "typeString": "Witnet.QueryEvmReward"
                                        },
                                        "typeName": {
                                          "id": 25815,
                                          "nodeType": "UserDefinedTypeName",
                                          "pathNode": {
                                            "id": 25814,
                                            "name": "Witnet.QueryEvmReward",
                                            "nameLocations": [
                                              "9753:6:62",
                                              "9760:14:62"
                                            ],
                                            "nodeType": "IdentifierPath",
                                            "referencedDeclaration": 37147,
                                            "src": "9753:21:62"
                                          },
                                          "referencedDeclaration": 37147,
                                          "src": "9753:21:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                            "typeString": "Witnet.QueryEvmReward"
                                          }
                                        },
                                        "visibility": "internal"
                                      }
                                    ],
                                    "src": "9752:36:62"
                                  },
                                  "src": "9744:171:62"
                                },
                                {
                                  "block": {
                                    "id": 25828,
                                    "nodeType": "Block",
                                    "src": "9922:2:62",
                                    "statements": []
                                  },
                                  "errorName": "",
                                  "id": 25829,
                                  "nodeType": "TryCatchClause",
                                  "src": "9916:8:62"
                                }
                              ],
                              "externalCall": {
                                "arguments": [
                                  {
                                    "id": 25812,
                                    "name": "_latestQueryId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 25704,
                                    "src": "9728:14:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "id": 25810,
                                    "name": "witOracle",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 25694,
                                    "src": "9706:9:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                      "typeString": "contract IWitOracleQueriable"
                                    }
                                  },
                                  "id": 25811,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9716:11:62",
                                  "memberName": "deleteQuery",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 26618,
                                  "src": "9706:21:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                    "typeString": "function (uint256) external returns (Witnet.QueryEvmReward)"
                                  }
                                },
                                "id": 25813,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "9706:37:62",
                                "tryCall": true,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                  "typeString": "Witnet.QueryEvmReward"
                                }
                              },
                              "id": 25830,
                              "nodeType": "TryStatement",
                              "src": "9702:222:62"
                            }
                          ]
                        },
                        "id": 25832,
                        "nodeType": "IfStatement",
                        "src": "9015:924:62",
                        "trueBody": {
                          "id": 25809,
                          "nodeType": "Block",
                          "src": "9066:468:62",
                          "statements": [
                            {
                              "condition": {
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 25778,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "expression": {
                                    "id": 25775,
                                    "name": "__feed",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 25710,
                                    "src": "9163:6:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                      "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                    }
                                  },
                                  "id": 25776,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "9170:16:62",
                                  "memberName": "lastValidQueryId",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 25160,
                                  "src": "9163:23:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "!=",
                                "rightExpression": {
                                  "hexValue": "30",
                                  "id": 25777,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "9190:1:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "9163:28:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "id": 25802,
                              "nodeType": "IfStatement",
                              "src": "9159:301:62",
                              "trueBody": {
                                "id": 25801,
                                "nodeType": "Block",
                                "src": "9193:267:62",
                                "statements": [
                                  {
                                    "clauses": [
                                      {
                                        "block": {
                                          "id": 25796,
                                          "nodeType": "Block",
                                          "src": "9313:119:62",
                                          "statements": [
                                            {
                                              "expression": {
                                                "id": 25794,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftHandSide": {
                                                  "id": 25788,
                                                  "name": "evmUpdateRequestFee",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 25701,
                                                  "src": "9340:19:62",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                  }
                                                },
                                                "nodeType": "Assignment",
                                                "operator": "+=",
                                                "rightHandSide": {
                                                  "arguments": [
                                                    {
                                                      "id": 25792,
                                                      "name": "_unusedReward",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 25786,
                                                      "src": "9392:13:62",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                                        "typeString": "Witnet.QueryEvmReward"
                                                      }
                                                    }
                                                  ],
                                                  "expression": {
                                                    "argumentTypes": [
                                                      {
                                                        "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                                        "typeString": "Witnet.QueryEvmReward"
                                                      }
                                                    ],
                                                    "expression": {
                                                      "expression": {
                                                        "id": 25789,
                                                        "name": "Witnet",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 40741,
                                                        "src": "9363:6:62",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                                          "typeString": "type(library Witnet)"
                                                        }
                                                      },
                                                      "id": 25790,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberLocation": "9370:14:62",
                                                      "memberName": "QueryEvmReward",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 37147,
                                                      "src": "9363:21:62",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                                        "typeString": "type(Witnet.QueryEvmReward)"
                                                      }
                                                    },
                                                    "id": 25791,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberLocation": "9385:6:62",
                                                    "memberName": "unwrap",
                                                    "nodeType": "MemberAccess",
                                                    "src": "9363:28:62",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryEvmReward_$37147_$returns$_t_uint72_$",
                                                      "typeString": "function (Witnet.QueryEvmReward) pure returns (uint72)"
                                                    }
                                                  },
                                                  "id": 25793,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "kind": "functionCall",
                                                  "lValueRequested": false,
                                                  "nameLocations": [],
                                                  "names": [],
                                                  "nodeType": "FunctionCall",
                                                  "src": "9363:43:62",
                                                  "tryCall": false,
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_uint72",
                                                    "typeString": "uint72"
                                                  }
                                                },
                                                "src": "9340:66:62",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_uint256",
                                                  "typeString": "uint256"
                                                }
                                              },
                                              "id": 25795,
                                              "nodeType": "ExpressionStatement",
                                              "src": "9340:66:62"
                                            }
                                          ]
                                        },
                                        "errorName": "",
                                        "id": 25797,
                                        "nodeType": "TryCatchClause",
                                        "parameters": {
                                          "id": 25787,
                                          "nodeType": "ParameterList",
                                          "parameters": [
                                            {
                                              "constant": false,
                                              "id": 25786,
                                              "mutability": "mutable",
                                              "name": "_unusedReward",
                                              "nameLocation": "9298:13:62",
                                              "nodeType": "VariableDeclaration",
                                              "scope": 25797,
                                              "src": "9276:35:62",
                                              "stateVariable": false,
                                              "storageLocation": "default",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                                "typeString": "Witnet.QueryEvmReward"
                                              },
                                              "typeName": {
                                                "id": 25785,
                                                "nodeType": "UserDefinedTypeName",
                                                "pathNode": {
                                                  "id": 25784,
                                                  "name": "Witnet.QueryEvmReward",
                                                  "nameLocations": [
                                                    "9276:6:62",
                                                    "9283:14:62"
                                                  ],
                                                  "nodeType": "IdentifierPath",
                                                  "referencedDeclaration": 37147,
                                                  "src": "9276:21:62"
                                                },
                                                "referencedDeclaration": 37147,
                                                "src": "9276:21:62",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                                  "typeString": "Witnet.QueryEvmReward"
                                                }
                                              },
                                              "visibility": "internal"
                                            }
                                          ],
                                          "src": "9275:37:62"
                                        },
                                        "src": "9267:165:62"
                                      },
                                      {
                                        "block": {
                                          "id": 25798,
                                          "nodeType": "Block",
                                          "src": "9439:2:62",
                                          "statements": []
                                        },
                                        "errorName": "",
                                        "id": 25799,
                                        "nodeType": "TryCatchClause",
                                        "src": "9433:8:62"
                                      }
                                    ],
                                    "externalCall": {
                                      "arguments": [
                                        {
                                          "expression": {
                                            "id": 25781,
                                            "name": "__feed",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 25710,
                                            "src": "9242:6:62",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                              "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                            }
                                          },
                                          "id": 25782,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "9249:16:62",
                                          "memberName": "lastValidQueryId",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 25160,
                                          "src": "9242:23:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        ],
                                        "expression": {
                                          "id": 25779,
                                          "name": "witOracle",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 25694,
                                          "src": "9220:9:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                            "typeString": "contract IWitOracleQueriable"
                                          }
                                        },
                                        "id": 25780,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "9230:11:62",
                                        "memberName": "deleteQuery",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 26618,
                                        "src": "9220:21:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                          "typeString": "function (uint256) external returns (Witnet.QueryEvmReward)"
                                        }
                                      },
                                      "id": 25783,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "9220:46:62",
                                      "tryCall": true,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                        "typeString": "Witnet.QueryEvmReward"
                                      }
                                    },
                                    "id": 25800,
                                    "nodeType": "TryStatement",
                                    "src": "9216:225:62"
                                  }
                                ]
                              }
                            },
                            {
                              "expression": {
                                "id": 25807,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "expression": {
                                    "id": 25803,
                                    "name": "__feed",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 25710,
                                    "src": "9478:6:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                      "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                    }
                                  },
                                  "id": 25805,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "memberLocation": "9485:16:62",
                                  "memberName": "lastValidQueryId",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 25160,
                                  "src": "9478:23:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "id": 25806,
                                  "name": "_latestQueryId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25704,
                                  "src": "9504:14:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "9478:40:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 25808,
                              "nodeType": "ExpressionStatement",
                              "src": "9478:40:62"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "id": 25835,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 25833,
                            "name": "_evmUsedFunds",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25706,
                            "src": "10001:13:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 25834,
                            "name": "evmUpdateRequestFee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25701,
                            "src": "10017:19:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10001:35:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 25836,
                        "nodeType": "ExpressionStatement",
                        "src": "10001:35:62"
                      },
                      {
                        "expression": {
                          "id": 25850,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 25837,
                            "name": "_latestQueryId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25704,
                            "src": "10051:14:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "expression": {
                                      "id": 25845,
                                      "name": "__feed",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 25710,
                                      "src": "10182:6:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                      }
                                    },
                                    "id": 25846,
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "10189:7:62",
                                    "memberName": "radHash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 25164,
                                    "src": "10182:14:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "expression": {
                                    "expression": {
                                      "id": 25842,
                                      "name": "Witnet",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 40741,
                                      "src": "10160:6:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                        "typeString": "type(library Witnet)"
                                      }
                                    },
                                    "id": 25843,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "10167:9:62",
                                    "memberName": "RadonHash",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 37153,
                                    "src": "10160:16:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_userDefinedValueType$_RadonHash_$37153_$",
                                      "typeString": "type(Witnet.RadonHash)"
                                    }
                                  },
                                  "id": 25844,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "10177:4:62",
                                  "memberName": "wrap",
                                  "nodeType": "MemberAccess",
                                  "src": "10160:21:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_RadonHash_$37153_$",
                                    "typeString": "function (bytes32) pure returns (Witnet.RadonHash)"
                                  }
                                },
                                "id": 25847,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10160:37:62",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                  "typeString": "Witnet.RadonHash"
                                }
                              },
                              {
                                "id": 25848,
                                "name": "querySLA",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25699,
                                "src": "10216:8:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                  "typeString": "struct Witnet.QuerySLA memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                  "typeString": "Witnet.RadonHash"
                                },
                                {
                                  "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                  "typeString": "struct Witnet.QuerySLA memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_userDefinedValueType$_RadonHash_$37153",
                                    "typeString": "Witnet.RadonHash"
                                  },
                                  {
                                    "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                                    "typeString": "struct Witnet.QuerySLA memory"
                                  }
                                ],
                                "expression": {
                                  "id": 25838,
                                  "name": "witOracle",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25694,
                                  "src": "10068:9:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                    "typeString": "contract IWitOracleQueriable"
                                  }
                                },
                                "id": 25839,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10078:9:62",
                                "memberName": "queryData",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 26773,
                                "src": "10068:19:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_payable$_t_userDefinedValueType$_RadonHash_$37153_$_t_struct$_QuerySLA_$37373_memory_ptr_$returns$_t_uint256_$",
                                  "typeString": "function (Witnet.RadonHash,struct Witnet.QuerySLA memory) payable external returns (uint256)"
                                }
                              },
                              "id": 25841,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "names": [
                                "value"
                              ],
                              "nodeType": "FunctionCallOptions",
                              "options": [
                                {
                                  "id": 25840,
                                  "name": "_evmUsedFunds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25706,
                                  "src": "10113:13:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "src": "10068:73:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_payable$_t_userDefinedValueType$_RadonHash_$37153_$_t_struct$_QuerySLA_$37373_memory_ptr_$returns$_t_uint256_$value",
                                "typeString": "function (Witnet.RadonHash,struct Witnet.QuerySLA memory) payable external returns (uint256)"
                              }
                            },
                            "id": 25849,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10068:171:62",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10051:188:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 25851,
                        "nodeType": "ExpressionStatement",
                        "src": "10051:188:62"
                      },
                      {
                        "expression": {
                          "id": 25856,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 25852,
                              "name": "__feed",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25710,
                              "src": "10294:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 25854,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "10301:19:62",
                            "memberName": "latestUpdateQueryId",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25162,
                            "src": "10294:26:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 25855,
                            "name": "_latestQueryId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25704,
                            "src": "10323:14:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10294:43:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 25857,
                        "nodeType": "ExpressionStatement",
                        "src": "10294:43:62"
                      }
                    ]
                  },
                  "id": 25859,
                  "nodeType": "IfStatement",
                  "src": "8176:2173:62",
                  "trueBody": {
                    "id": 25769,
                    "nodeType": "Block",
                    "src": "8209:726:62",
                    "statements": [
                      {
                        "assignments": [
                          25734
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 25734,
                            "mutability": "mutable",
                            "name": "_evmUpdateRequestCurrentFee",
                            "nameLocation": "8231:27:62",
                            "nodeType": "VariableDeclaration",
                            "scope": 25769,
                            "src": "8224:34:62",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint72",
                              "typeString": "uint72"
                            },
                            "typeName": {
                              "id": 25733,
                              "name": "uint72",
                              "nodeType": "ElementaryTypeName",
                              "src": "8224:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint72",
                                "typeString": "uint72"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 25743,
                        "initialValue": {
                          "arguments": [
                            {
                              "arguments": [
                                {
                                  "id": 25740,
                                  "name": "_latestQueryId",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25704,
                                  "src": "8336:14:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "id": 25738,
                                  "name": "witOracle",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25694,
                                  "src": "8308:9:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                    "typeString": "contract IWitOracleQueriable"
                                  }
                                },
                                "id": 25739,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "8318:17:62",
                                "memberName": "getQueryEvmReward",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 26675,
                                "src": "8308:27:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                  "typeString": "function (uint256) view external returns (Witnet.QueryEvmReward)"
                                }
                              },
                              "id": 25741,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "8308:43:62",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                "typeString": "Witnet.QueryEvmReward"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_userDefinedValueType$_QueryEvmReward_$37147",
                                "typeString": "Witnet.QueryEvmReward"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 25735,
                                "name": "Witnet",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 40741,
                                "src": "8261:6:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                                  "typeString": "type(library Witnet)"
                                }
                              },
                              "id": 25736,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "8268:14:62",
                              "memberName": "QueryEvmReward",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 37147,
                              "src": "8261:21:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_userDefinedValueType$_QueryEvmReward_$37147_$",
                                "typeString": "type(Witnet.QueryEvmReward)"
                              }
                            },
                            "id": 25737,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberLocation": "8283:6:62",
                            "memberName": "unwrap",
                            "nodeType": "MemberAccess",
                            "src": "8261:28:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_unwrap_pure$_t_userDefinedValueType$_QueryEvmReward_$37147_$returns$_t_uint72_$",
                              "typeString": "function (Witnet.QueryEvmReward) pure returns (uint72)"
                            }
                          },
                          "id": 25742,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "8261:105:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint72",
                            "typeString": "uint72"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "8224:142:62"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 25746,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 25744,
                            "name": "evmUpdateRequestFee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25701,
                            "src": "8385:19:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "id": 25745,
                            "name": "_evmUpdateRequestCurrentFee",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25734,
                            "src": "8407:27:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint72",
                              "typeString": "uint72"
                            }
                          },
                          "src": "8385:49:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 25767,
                          "nodeType": "Block",
                          "src": "8862:52:62",
                          "statements": [
                            {
                              "expression": {
                                "id": 25765,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 25763,
                                  "name": "_evmUsedFunds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25706,
                                  "src": "8881:13:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "hexValue": "30",
                                  "id": 25764,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "8897:1:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                },
                                "src": "8881:17:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 25766,
                              "nodeType": "ExpressionStatement",
                              "src": "8881:17:62"
                            }
                          ]
                        },
                        "id": 25768,
                        "nodeType": "IfStatement",
                        "src": "8381:533:62",
                        "trueBody": {
                          "id": 25762,
                          "nodeType": "Block",
                          "src": "8436:420:62",
                          "statements": [
                            {
                              "expression": {
                                "id": 25752,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 25747,
                                  "name": "_evmUsedFunds",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25706,
                                  "src": "8591:13:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "components": [
                                    {
                                      "commonType": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      },
                                      "id": 25750,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "id": 25748,
                                        "name": "evmUpdateRequestFee",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 25701,
                                        "src": "8608:19:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "-",
                                      "rightExpression": {
                                        "id": 25749,
                                        "name": "_evmUpdateRequestCurrentFee",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 25734,
                                        "src": "8630:27:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint72",
                                          "typeString": "uint72"
                                        }
                                      },
                                      "src": "8608:49:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "id": 25751,
                                  "isConstant": false,
                                  "isInlineArray": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "TupleExpression",
                                  "src": "8607:51:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "8591:67:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 25753,
                              "nodeType": "ExpressionStatement",
                              "src": "8591:67:62"
                            },
                            {
                              "expression": {
                                "arguments": [
                                  {
                                    "id": 25759,
                                    "name": "_latestQueryId",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 25704,
                                    "src": "8793:14:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "expression": {
                                      "id": 25754,
                                      "name": "witOracle",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 25694,
                                      "src": "8677:9:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                                        "typeString": "contract IWitOracleQueriable"
                                      }
                                    },
                                    "id": 25756,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberLocation": "8687:21:62",
                                    "memberName": "upgradeQueryEvmReward",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 26794,
                                    "src": "8677:31:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_external_payable$_t_uint256_$returns$__$",
                                      "typeString": "function (uint256) payable external"
                                    }
                                  },
                                  "id": 25758,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "names": [
                                    "value"
                                  ],
                                  "nodeType": "FunctionCallOptions",
                                  "options": [
                                    {
                                      "id": 25757,
                                      "name": "_evmUsedFunds",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 25706,
                                      "src": "8738:13:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "src": "8677:93:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_payable$_t_uint256_$returns$__$value",
                                    "typeString": "function (uint256) payable external"
                                  }
                                },
                                "id": 25760,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "8677:149:62",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 25761,
                              "nodeType": "ExpressionStatement",
                              "src": "8677:149:62"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "07f11202",
            "id": 25861,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "requestUpdate",
            "nameLocation": "7640:13:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25702,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25694,
                  "mutability": "mutable",
                  "name": "witOracle",
                  "nameLocation": "7688:9:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25861,
                  "src": "7668:29:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                    "typeString": "contract IWitOracleQueriable"
                  },
                  "typeName": {
                    "id": 25693,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 25692,
                      "name": "IWitOracleQueriable",
                      "nameLocations": [
                        "7668:19:62"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 26795,
                      "src": "7668:19:62"
                    },
                    "referencedDeclaration": 26795,
                    "src": "7668:19:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IWitOracleQueriable_$26795",
                      "typeString": "contract IWitOracleQueriable"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25696,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "7720:6:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25861,
                  "src": "7713:13:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 25695,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "7713:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25699,
                  "mutability": "mutable",
                  "name": "querySLA",
                  "nameLocation": "7765:8:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25861,
                  "src": "7742:31:62",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QuerySLA_$37373_memory_ptr",
                    "typeString": "struct Witnet.QuerySLA"
                  },
                  "typeName": {
                    "id": 25698,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 25697,
                      "name": "Witnet.QuerySLA",
                      "nameLocations": [
                        "7742:6:62",
                        "7749:8:62"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37373,
                      "src": "7742:15:62"
                    },
                    "referencedDeclaration": 37373,
                    "src": "7742:15:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QuerySLA_$37373_storage_ptr",
                      "typeString": "struct Witnet.QuerySLA"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25701,
                  "mutability": "mutable",
                  "name": "evmUpdateRequestFee",
                  "nameLocation": "7796:19:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25861,
                  "src": "7788:27:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 25700,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7788:7:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7653:173:62"
            },
            "returnParameters": {
              "id": 25707,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25704,
                  "mutability": "mutable",
                  "name": "_latestQueryId",
                  "nameLocation": "7883:14:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25861,
                  "src": "7875:22:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 25703,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7875:7:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25706,
                  "mutability": "mutable",
                  "name": "_evmUsedFunds",
                  "nameLocation": "7920:13:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25861,
                  "src": "7912:21:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 25705,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "7912:7:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "7860:84:62"
            },
            "scope": 26464,
            "src": "7631:2725:62",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 25954,
              "nodeType": "Block",
              "src": "10491:681:62",
              "statements": [
                {
                  "assignments": [
                    25869
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25869,
                      "mutability": "mutable",
                      "name": "feedId",
                      "nameLocation": "10509:6:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25954,
                      "src": "10502:13:62",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "typeName": {
                        "id": 25868,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "10502:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25873,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 25871,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25863,
                        "src": "10523:7:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "id": 25870,
                      "name": "hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25263,
                      "src": "10518:4:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$",
                        "typeString": "function (string memory) pure returns (bytes4)"
                      }
                    },
                    "id": 25872,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10518:13:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10502:29:62"
                },
                {
                  "assignments": [
                    25876
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25876,
                      "mutability": "mutable",
                      "name": "__record",
                      "nameLocation": "10557:8:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 25954,
                      "src": "10542:23:62",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                      },
                      "typeName": {
                        "id": 25875,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 25874,
                          "name": "Record",
                          "nameLocations": [
                            "10542:6:62"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 25171,
                          "src": "10542:6:62"
                        },
                        "referencedDeclaration": 25171,
                        "src": "10542:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25880,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 25878,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25869,
                        "src": "10579:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 25877,
                      "name": "seekRecord",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25352,
                      "src": "10568:10:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                        "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                      }
                    },
                    "id": 25879,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10568:18:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10542:44:62"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 25884,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 25881,
                        "name": "__record",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25876,
                        "src": "10601:8:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                        }
                      },
                      "id": 25882,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "10610:5:62",
                      "memberName": "index",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25158,
                      "src": "10601:14:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 25883,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "10619:1:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "10601:19:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "id": 25927,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 25924,
                          "name": "__record",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25876,
                          "src": "10909:8:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                            "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                          }
                        },
                        "id": 25925,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "10918:7:62",
                        "memberName": "radHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25164,
                        "src": "10909:16:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "id": 25926,
                        "name": "radHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25865,
                        "src": "10929:7:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "src": "10909:27:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 25944,
                    "nodeType": "IfStatement",
                    "src": "10905:178:62",
                    "trueBody": {
                      "id": 25943,
                      "nodeType": "Block",
                      "src": "10938:145:62",
                      "statements": [
                        {
                          "expression": {
                            "id": 25932,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "expression": {
                                "id": 25928,
                                "name": "__record",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25876,
                                "src": "11002:8:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                }
                              },
                              "id": 25930,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "memberLocation": "11011:7:62",
                              "memberName": "radHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25164,
                              "src": "11002:16:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "id": 25931,
                              "name": "radHash",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25865,
                              "src": "11021:7:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "src": "11002:26:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "id": 25933,
                          "nodeType": "ExpressionStatement",
                          "src": "11002:26:62"
                        },
                        {
                          "expression": {
                            "id": 25941,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "expression": {
                                "id": 25934,
                                "name": "__record",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25876,
                                "src": "11043:8:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                }
                              },
                              "id": 25936,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "memberLocation": "11052:6:62",
                              "memberName": "solver",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25166,
                              "src": "11043:15:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "arguments": [
                                {
                                  "hexValue": "30",
                                  "id": 25939,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "11069:1:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  },
                                  "value": "0"
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_rational_0_by_1",
                                    "typeString": "int_const 0"
                                  }
                                ],
                                "id": 25938,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "11061:7:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_address_$",
                                  "typeString": "type(address)"
                                },
                                "typeName": {
                                  "id": 25937,
                                  "name": "address",
                                  "nodeType": "ElementaryTypeName",
                                  "src": "11061:7:62",
                                  "typeDescriptions": {}
                                }
                              },
                              "id": 25940,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "11061:10:62",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "src": "11043:28:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 25942,
                          "nodeType": "ExpressionStatement",
                          "src": "11043:28:62"
                        }
                      ]
                    }
                  },
                  "id": 25945,
                  "nodeType": "IfStatement",
                  "src": "10597:486:62",
                  "trueBody": {
                    "id": 25923,
                    "nodeType": "Block",
                    "src": "10622:277:62",
                    "statements": [
                      {
                        "expression": {
                          "id": 25889,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 25885,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25876,
                              "src": "10670:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 25887,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "10679:7:62",
                            "memberName": "caption",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25154,
                            "src": "10670:16:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage",
                              "typeString": "string storage ref"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 25888,
                            "name": "caption",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25863,
                            "src": "10689:7:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_calldata_ptr",
                              "typeString": "string calldata"
                            }
                          },
                          "src": "10670:26:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        "id": 25890,
                        "nodeType": "ExpressionStatement",
                        "src": "10670:26:62"
                      },
                      {
                        "expression": {
                          "id": 25897,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 25891,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25876,
                              "src": "10711:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 25893,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "10720:8:62",
                            "memberName": "decimals",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25156,
                            "src": "10711:17:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 25895,
                                "name": "caption",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25863,
                                "src": "10747:7:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_calldata_ptr",
                                  "typeString": "string calldata"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_calldata_ptr",
                                  "typeString": "string calldata"
                                }
                              ],
                              "id": 25894,
                              "name": "validateCaption",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26417,
                              "src": "10731:15:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_string_calldata_ptr_$returns$_t_uint8_$",
                                "typeString": "function (string calldata) pure returns (uint8)"
                              }
                            },
                            "id": 25896,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "10731:24:62",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "src": "10711:44:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "id": 25898,
                        "nodeType": "ExpressionStatement",
                        "src": "10711:44:62"
                      },
                      {
                        "expression": {
                          "id": 25908,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 25899,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25876,
                              "src": "10770:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 25901,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "10779:5:62",
                            "memberName": "index",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25158,
                            "src": "10770:14:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 25907,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "expression": {
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "id": 25902,
                                    "name": "data",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 25245,
                                    "src": "10787:4:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                                      "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                                    }
                                  },
                                  "id": 25903,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "10787:6:62",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                                    "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                                  }
                                },
                                "id": 25904,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "10794:3:62",
                                "memberName": "ids",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 25146,
                                "src": "10787:10:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                  "typeString": "bytes4[] storage ref"
                                }
                              },
                              "id": 25905,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "10798:6:62",
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "src": "10787:17:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "+",
                            "rightExpression": {
                              "hexValue": "31",
                              "id": 25906,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "10807:1:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "10787:21:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "10770:38:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 25909,
                        "nodeType": "ExpressionStatement",
                        "src": "10770:38:62"
                      },
                      {
                        "expression": {
                          "id": 25914,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 25910,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25876,
                              "src": "10823:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 25912,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "10832:7:62",
                            "memberName": "radHash",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25164,
                            "src": "10823:16:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 25913,
                            "name": "radHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25865,
                            "src": "10842:7:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "10823:26:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 25915,
                        "nodeType": "ExpressionStatement",
                        "src": "10823:26:62"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 25920,
                              "name": "feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25869,
                              "src": "10880:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 25916,
                                  "name": "data",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25245,
                                  "src": "10864:4:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                                  }
                                },
                                "id": 25917,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "10864:6:62",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                                }
                              },
                              "id": 25918,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "10871:3:62",
                              "memberName": "ids",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25146,
                              "src": "10864:10:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                "typeString": "bytes4[] storage ref"
                              }
                            },
                            "id": 25919,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "10875:4:62",
                            "memberName": "push",
                            "nodeType": "MemberAccess",
                            "src": "10864:15:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes4_$dyn_storage_ptr_$_t_bytes4_$returns$__$attached_to$_t_array$_t_bytes4_$dyn_storage_ptr_$",
                              "typeString": "function (bytes4[] storage pointer,bytes4)"
                            }
                          },
                          "id": 25921,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10864:23:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 25922,
                        "nodeType": "ExpressionStatement",
                        "src": "10864:23:62"
                      }
                    ]
                  }
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 25949,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25863,
                        "src": "11139:7:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "id": 25950,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25869,
                        "src": "11148:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      {
                        "id": 25951,
                        "name": "radHash",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25865,
                        "src": "11156:7:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "id": 25946,
                        "name": "IWitPriceFeedsLegacyAdmin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 29469,
                        "src": "11098:25:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacyAdmin_$29469_$",
                          "typeString": "type(contract IWitPriceFeedsLegacyAdmin)"
                        }
                      },
                      "id": 25948,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "11124:14:62",
                      "memberName": "WitFeedSettled",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 29381,
                      "src": "11098:40:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes4_$_t_bytes32_$returns$__$",
                        "typeString": "function (string memory,bytes4,bytes32)"
                      }
                    },
                    "id": 25952,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11098:66:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 25953,
                  "nodeType": "EmitStatement",
                  "src": "11093:71:62"
                }
              ]
            },
            "functionSelector": "84292f07",
            "id": 25955,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "settleFeedRequest",
            "nameLocation": "10373:17:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25866,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25863,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "10421:7:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25955,
                  "src": "10405:23:62",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 25862,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "10405:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25865,
                  "mutability": "mutable",
                  "name": "radHash",
                  "nameLocation": "10451:7:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 25955,
                  "src": "10443:15:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 25864,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "10443:7:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "10390:79:62"
            },
            "returnParameters": {
              "id": 25867,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10491:0:62"
            },
            "scope": 26464,
            "src": "10364:808:62",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 26134,
              "nodeType": "Block",
              "src": "11344:2017:62",
              "statements": [
                {
                  "assignments": [
                    25966
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25966,
                      "mutability": "mutable",
                      "name": "feedId",
                      "nameLocation": "11362:6:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 26134,
                      "src": "11355:13:62",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "typeName": {
                        "id": 25965,
                        "name": "bytes4",
                        "nodeType": "ElementaryTypeName",
                        "src": "11355:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25970,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 25968,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25957,
                        "src": "11376:7:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      ],
                      "id": 25967,
                      "name": "hash",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25263,
                      "src": "11371:4:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$",
                        "typeString": "function (string memory) pure returns (bytes4)"
                      }
                    },
                    "id": 25969,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11371:13:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11355:29:62"
                },
                {
                  "assignments": [
                    25973
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 25973,
                      "mutability": "mutable",
                      "name": "__record",
                      "nameLocation": "11418:8:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 26134,
                      "src": "11403:23:62",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                        "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                      },
                      "typeName": {
                        "id": 25972,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 25971,
                          "name": "Record",
                          "nameLocations": [
                            "11403:6:62"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 25171,
                          "src": "11403:6:62"
                        },
                        "referencedDeclaration": 25171,
                        "src": "11403:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 25977,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 25975,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25966,
                        "src": "11440:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      ],
                      "id": 25974,
                      "name": "seekRecord",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 25352,
                      "src": "11429:10:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                        "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                      }
                    },
                    "id": 25976,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11429:18:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                      "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11403:44:62"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 25981,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 25978,
                        "name": "__record",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25973,
                        "src": "11462:8:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                        }
                      },
                      "id": 25979,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "11471:5:62",
                      "memberName": "index",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25158,
                      "src": "11462:14:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 25980,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "11480:1:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "11462:19:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "id": 26024,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "expression": {
                          "id": 26021,
                          "name": "__record",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25973,
                          "src": "11782:8:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                            "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                          }
                        },
                        "id": 26022,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "11791:6:62",
                        "memberName": "solver",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 25166,
                        "src": "11782:15:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "!=",
                      "rightExpression": {
                        "id": 26023,
                        "name": "solver",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25959,
                        "src": "11801:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "src": "11782:25:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 26038,
                    "nodeType": "IfStatement",
                    "src": "11778:166:62",
                    "trueBody": {
                      "id": 26037,
                      "nodeType": "Block",
                      "src": "11809:135:62",
                      "statements": [
                        {
                          "expression": {
                            "id": 26029,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "expression": {
                                "id": 26025,
                                "name": "__record",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25973,
                                "src": "11873:8:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                }
                              },
                              "id": 26027,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "memberLocation": "11882:7:62",
                              "memberName": "radHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25164,
                              "src": "11873:16:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "hexValue": "30",
                              "id": 26028,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "11892:1:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            "src": "11873:20:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "id": 26030,
                          "nodeType": "ExpressionStatement",
                          "src": "11873:20:62"
                        },
                        {
                          "expression": {
                            "id": 26035,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "expression": {
                                "id": 26031,
                                "name": "__record",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25973,
                                "src": "11908:8:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                }
                              },
                              "id": 26033,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "memberLocation": "11917:6:62",
                              "memberName": "solver",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25166,
                              "src": "11908:15:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "=",
                            "rightHandSide": {
                              "id": 26034,
                              "name": "solver",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25959,
                              "src": "11926:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "src": "11908:24:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 26036,
                          "nodeType": "ExpressionStatement",
                          "src": "11908:24:62"
                        }
                      ]
                    }
                  },
                  "id": 26039,
                  "nodeType": "IfStatement",
                  "src": "11458:486:62",
                  "trueBody": {
                    "id": 26020,
                    "nodeType": "Block",
                    "src": "11483:289:62",
                    "statements": [
                      {
                        "expression": {
                          "id": 25986,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 25982,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25973,
                              "src": "11531:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 25984,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "11540:7:62",
                            "memberName": "caption",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25154,
                            "src": "11531:16:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage",
                              "typeString": "string storage ref"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 25985,
                            "name": "caption",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25957,
                            "src": "11550:7:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_calldata_ptr",
                              "typeString": "string calldata"
                            }
                          },
                          "src": "11531:26:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage",
                            "typeString": "string storage ref"
                          }
                        },
                        "id": 25987,
                        "nodeType": "ExpressionStatement",
                        "src": "11531:26:62"
                      },
                      {
                        "expression": {
                          "id": 25994,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 25988,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25973,
                              "src": "11572:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 25990,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "11581:8:62",
                            "memberName": "decimals",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25156,
                            "src": "11572:17:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 25992,
                                "name": "caption",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25957,
                                "src": "11608:7:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_calldata_ptr",
                                  "typeString": "string calldata"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_calldata_ptr",
                                  "typeString": "string calldata"
                                }
                              ],
                              "id": 25991,
                              "name": "validateCaption",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26417,
                              "src": "11592:15:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_string_calldata_ptr_$returns$_t_uint8_$",
                                "typeString": "function (string calldata) pure returns (uint8)"
                              }
                            },
                            "id": 25993,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "11592:24:62",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint8",
                              "typeString": "uint8"
                            }
                          },
                          "src": "11572:44:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint8",
                            "typeString": "uint8"
                          }
                        },
                        "id": 25995,
                        "nodeType": "ExpressionStatement",
                        "src": "11572:44:62"
                      },
                      {
                        "expression": {
                          "id": 26005,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 25996,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25973,
                              "src": "11631:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 25998,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "11640:5:62",
                            "memberName": "index",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25158,
                            "src": "11631:14:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 26004,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "expression": {
                                "expression": {
                                  "arguments": [],
                                  "expression": {
                                    "argumentTypes": [],
                                    "id": 25999,
                                    "name": "data",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 25245,
                                    "src": "11648:4:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                                      "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                                    }
                                  },
                                  "id": 26000,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "11648:6:62",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                                    "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                                  }
                                },
                                "id": 26001,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "11655:3:62",
                                "memberName": "ids",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 25146,
                                "src": "11648:10:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                  "typeString": "bytes4[] storage ref"
                                }
                              },
                              "id": 26002,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11659:6:62",
                              "memberName": "length",
                              "nodeType": "MemberAccess",
                              "src": "11648:17:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "+",
                            "rightExpression": {
                              "hexValue": "31",
                              "id": 26003,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "11668:1:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "11648:21:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "11631:38:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 26006,
                        "nodeType": "ExpressionStatement",
                        "src": "11631:38:62"
                      },
                      {
                        "expression": {
                          "id": 26011,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "expression": {
                              "id": 26007,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25973,
                              "src": "11684:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 26009,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "memberLocation": "11693:6:62",
                            "memberName": "solver",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25166,
                            "src": "11684:15:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 26010,
                            "name": "solver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25959,
                            "src": "11702:6:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "11684:24:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 26012,
                        "nodeType": "ExpressionStatement",
                        "src": "11684:24:62"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 26017,
                              "name": "feedId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 25966,
                              "src": "11739:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "id": 26013,
                                  "name": "data",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 25245,
                                  "src": "11723:4:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                                    "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                                  }
                                },
                                "id": 26014,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "11723:6:62",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                                  "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                                }
                              },
                              "id": 26015,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "11730:3:62",
                              "memberName": "ids",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 25146,
                              "src": "11723:10:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                                "typeString": "bytes4[] storage ref"
                              }
                            },
                            "id": 26016,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "11734:4:62",
                            "memberName": "push",
                            "nodeType": "MemberAccess",
                            "src": "11723:15:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_bytes4_$dyn_storage_ptr_$_t_bytes4_$returns$__$attached_to$_t_array$_t_bytes4_$dyn_storage_ptr_$",
                              "typeString": "function (bytes4[] storage pointer,bytes4)"
                            }
                          },
                          "id": 26018,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11723:23:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 26019,
                        "nodeType": "ExpressionStatement",
                        "src": "11723:23:62"
                      }
                    ]
                  }
                },
                {
                  "id": 26081,
                  "nodeType": "Block",
                  "src": "12007:620:62",
                  "statements": [
                    {
                      "assignments": [
                        26041,
                        26043
                      ],
                      "declarations": [
                        {
                          "constant": false,
                          "id": 26041,
                          "mutability": "mutable",
                          "name": "_success",
                          "nameLocation": "12092:8:62",
                          "nodeType": "VariableDeclaration",
                          "scope": 26081,
                          "src": "12087:13:62",
                          "stateVariable": false,
                          "storageLocation": "default",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "typeName": {
                            "id": 26040,
                            "name": "bool",
                            "nodeType": "ElementaryTypeName",
                            "src": "12087:4:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "visibility": "internal"
                        },
                        {
                          "constant": false,
                          "id": 26043,
                          "mutability": "mutable",
                          "name": "_reason",
                          "nameLocation": "12115:7:62",
                          "nodeType": "VariableDeclaration",
                          "scope": 26081,
                          "src": "12102:20:62",
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes"
                          },
                          "typeName": {
                            "id": 26042,
                            "name": "bytes",
                            "nodeType": "ElementaryTypeName",
                            "src": "12102:5:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_storage_ptr",
                              "typeString": "bytes"
                            }
                          },
                          "visibility": "internal"
                        }
                      ],
                      "id": 26055,
                      "initialValue": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "expression": {
                                    "id": 26048,
                                    "name": "IWitPriceFeedsLegacySolver",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 29521,
                                    "src": "12187:26:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                      "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                    }
                                  },
                                  "id": 26049,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "12214:8:62",
                                  "memberName": "validate",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 29520,
                                  "src": "12187:35:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes4_$_t_array$_t_string_calldata_ptr_$dyn_calldata_ptr_$returns$__$",
                                    "typeString": "function IWitPriceFeedsLegacySolver.validate(bytes4,string calldata[] calldata)"
                                  }
                                },
                                "id": 26050,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "12223:8:62",
                                "memberName": "selector",
                                "nodeType": "MemberAccess",
                                "src": "12187:44:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              {
                                "id": 26051,
                                "name": "feedId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25966,
                                "src": "12250:6:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              {
                                "id": 26052,
                                "name": "deps",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25962,
                                "src": "12275:4:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                                  "typeString": "string calldata[] calldata"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                },
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                },
                                {
                                  "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                                  "typeString": "string calldata[] calldata"
                                }
                              ],
                              "expression": {
                                "id": 26046,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "12146:3:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 26047,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "12150:18:62",
                              "memberName": "encodeWithSelector",
                              "nodeType": "MemberAccess",
                              "src": "12146:22:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function (bytes4) pure returns (bytes memory)"
                              }
                            },
                            "id": 26053,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12146:148:62",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "id": 26044,
                            "name": "solver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25959,
                            "src": "12126:6:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 26045,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "12133:12:62",
                          "memberName": "delegatecall",
                          "nodeType": "MemberAccess",
                          "src": "12126:19:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes memory) returns (bool,bytes memory)"
                          }
                        },
                        "id": 26054,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "12126:169:62",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                          "typeString": "tuple(bool,bytes memory)"
                        }
                      },
                      "nodeType": "VariableDeclarationStatement",
                      "src": "12086:209:62"
                    },
                    {
                      "condition": {
                        "id": 26057,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "12314:9:62",
                        "subExpression": {
                          "id": 26056,
                          "name": "_success",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26041,
                          "src": "12315:8:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 26080,
                      "nodeType": "IfStatement",
                      "src": "12310:306:62",
                      "trueBody": {
                        "id": 26079,
                        "nodeType": "Block",
                        "src": "12325:291:62",
                        "statements": [
                          {
                            "AST": {
                              "nativeSrc": "12353:68:62",
                              "nodeType": "YulBlock",
                              "src": "12353:68:62",
                              "statements": [
                                {
                                  "nativeSrc": "12376:26:62",
                                  "nodeType": "YulAssignment",
                                  "src": "12376:26:62",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "_reason",
                                        "nativeSrc": "12391:7:62",
                                        "nodeType": "YulIdentifier",
                                        "src": "12391:7:62"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "12400:1:62",
                                        "nodeType": "YulLiteral",
                                        "src": "12400:1:62",
                                        "type": "",
                                        "value": "4"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "12387:3:62",
                                      "nodeType": "YulIdentifier",
                                      "src": "12387:3:62"
                                    },
                                    "nativeSrc": "12387:15:62",
                                    "nodeType": "YulFunctionCall",
                                    "src": "12387:15:62"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "_reason",
                                      "nativeSrc": "12376:7:62",
                                      "nodeType": "YulIdentifier",
                                      "src": "12376:7:62"
                                    }
                                  ]
                                }
                              ]
                            },
                            "evmVersion": "prague",
                            "externalReferences": [
                              {
                                "declaration": 26043,
                                "isOffset": false,
                                "isSlot": false,
                                "src": "12376:7:62",
                                "valueSize": 1
                              },
                              {
                                "declaration": 26043,
                                "isOffset": false,
                                "isSlot": false,
                                "src": "12391:7:62",
                                "valueSize": 1
                              }
                            ],
                            "id": 26058,
                            "nodeType": "InlineAssembly",
                            "src": "12344:77:62"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "hexValue": "736f6c7665722076616c69646174696f6e206661696c65643a20",
                                          "id": 26064,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "12492:28:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_c101a7f8080752dfbefb390bf90513725646733f85cb57f528eb437562da5424",
                                            "typeString": "literal_string \"solver validation failed: \""
                                          },
                                          "value": "solver validation failed: "
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "id": 26069,
                                                  "name": "_reason",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 26043,
                                                  "src": "12561:7:62",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                  }
                                                },
                                                {
                                                  "components": [
                                                    {
                                                      "id": 26071,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": true,
                                                      "lValueRequested": false,
                                                      "nodeType": "ElementaryTypeNameExpression",
                                                      "src": "12570:6:62",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                        "typeString": "type(string storage pointer)"
                                                      },
                                                      "typeName": {
                                                        "id": 26070,
                                                        "name": "string",
                                                        "nodeType": "ElementaryTypeName",
                                                        "src": "12570:6:62",
                                                        "typeDescriptions": {}
                                                      }
                                                    }
                                                  ],
                                                  "id": 26072,
                                                  "isConstant": false,
                                                  "isInlineArray": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "nodeType": "TupleExpression",
                                                  "src": "12569:8:62",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                    "typeString": "type(string storage pointer)"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                    "typeString": "type(string storage pointer)"
                                                  }
                                                ],
                                                "expression": {
                                                  "id": 26067,
                                                  "name": "abi",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 4294967295,
                                                  "src": "12550:3:62",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_abi",
                                                    "typeString": "abi"
                                                  }
                                                },
                                                "id": 26068,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "memberLocation": "12554:6:62",
                                                "memberName": "decode",
                                                "nodeType": "MemberAccess",
                                                "src": "12550:10:62",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                                  "typeString": "function () pure"
                                                }
                                              },
                                              "id": 26073,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "12550:28:62",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            ],
                                            "id": 26066,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "12543:6:62",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                              "typeString": "type(string storage pointer)"
                                            },
                                            "typeName": {
                                              "id": 26065,
                                              "name": "string",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "12543:6:62",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 26074,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "12543:36:62",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_stringliteral_c101a7f8080752dfbefb390bf90513725646733f85cb57f528eb437562da5424",
                                            "typeString": "literal_string \"solver validation failed: \""
                                          },
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        ],
                                        "expression": {
                                          "id": 26062,
                                          "name": "abi",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967295,
                                          "src": "12453:3:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_abi",
                                            "typeString": "abi"
                                          }
                                        },
                                        "id": 26063,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "12457:12:62",
                                        "memberName": "encodePacked",
                                        "nodeType": "MemberAccess",
                                        "src": "12453:16:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                          "typeString": "function () pure returns (bytes memory)"
                                        }
                                      },
                                      "id": 26075,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "12453:145:62",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    ],
                                    "id": 26061,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "12446:6:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                      "typeString": "type(string storage pointer)"
                                    },
                                    "typeName": {
                                      "id": 26060,
                                      "name": "string",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "12446:6:62",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 26076,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "12446:153:62",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 26059,
                                "name": "revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  4294967277,
                                  4294967277
                                ],
                                "referencedDeclaration": 4294967277,
                                "src": "12439:6:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) pure"
                                }
                              },
                              "id": 26077,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "12439:161:62",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 26078,
                            "nodeType": "ExpressionStatement",
                            "src": "12439:161:62"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "id": 26125,
                  "nodeType": "Block",
                  "src": "12672:595:62",
                  "statements": [
                    {
                      "assignments": [
                        26083,
                        26085
                      ],
                      "declarations": [
                        {
                          "constant": false,
                          "id": 26083,
                          "mutability": "mutable",
                          "name": "_success",
                          "nameLocation": "12760:8:62",
                          "nodeType": "VariableDeclaration",
                          "scope": 26125,
                          "src": "12755:13:62",
                          "stateVariable": false,
                          "storageLocation": "default",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "typeName": {
                            "id": 26082,
                            "name": "bool",
                            "nodeType": "ElementaryTypeName",
                            "src": "12755:4:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "visibility": "internal"
                        },
                        {
                          "constant": false,
                          "id": 26085,
                          "mutability": "mutable",
                          "name": "_reason",
                          "nameLocation": "12783:7:62",
                          "nodeType": "VariableDeclaration",
                          "scope": 26125,
                          "src": "12770:20:62",
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes"
                          },
                          "typeName": {
                            "id": 26084,
                            "name": "bytes",
                            "nodeType": "ElementaryTypeName",
                            "src": "12770:5:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_storage_ptr",
                              "typeString": "bytes"
                            }
                          },
                          "visibility": "internal"
                        }
                      ],
                      "id": 26099,
                      "initialValue": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "expression": {
                                  "expression": {
                                    "id": 26093,
                                    "name": "IWitPriceFeedsLegacySolver",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 29521,
                                    "src": "12860:26:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                      "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                    }
                                  },
                                  "id": 26094,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "memberLocation": "12887:5:62",
                                  "memberName": "solve",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 29507,
                                  "src": "12860:32:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_declaration_view$_t_bytes4_$returns$_t_struct$_Price_$29489_memory_ptr_$",
                                    "typeString": "function IWitPriceFeedsLegacySolver.solve(bytes4) view returns (struct IWitPriceFeedsLegacySolver.Price memory)"
                                  }
                                },
                                "id": 26095,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "12893:8:62",
                                "memberName": "selector",
                                "nodeType": "MemberAccess",
                                "src": "12860:41:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              {
                                "id": 26096,
                                "name": "feedId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 25966,
                                "src": "12920:6:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                },
                                {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              ],
                              "expression": {
                                "id": 26091,
                                "name": "abi",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967295,
                                "src": "12819:3:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_abi",
                                  "typeString": "abi"
                                }
                              },
                              "id": 26092,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "memberLocation": "12823:18:62",
                              "memberName": "encodeWithSelector",
                              "nodeType": "MemberAccess",
                              "src": "12819:22:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$",
                                "typeString": "function (bytes4) pure returns (bytes memory)"
                              }
                            },
                            "id": 26097,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12819:122:62",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes memory"
                            }
                          ],
                          "expression": {
                            "arguments": [
                              {
                                "id": 26088,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4294967268,
                                "src": "12802:4:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_WitPriceFeedsLegacyDataLib_$26464",
                                  "typeString": "library WitPriceFeedsLegacyDataLib"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_WitPriceFeedsLegacyDataLib_$26464",
                                  "typeString": "library WitPriceFeedsLegacyDataLib"
                                }
                              ],
                              "id": 26087,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "12794:7:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 26086,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "12794:7:62",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 26089,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "12794:13:62",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "id": 26090,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "12808:10:62",
                          "memberName": "staticcall",
                          "nodeType": "MemberAccess",
                          "src": "12794:24:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$",
                            "typeString": "function (bytes memory) view returns (bool,bytes memory)"
                          }
                        },
                        "id": 26098,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "12794:148:62",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$",
                          "typeString": "tuple(bool,bytes memory)"
                        }
                      },
                      "nodeType": "VariableDeclarationStatement",
                      "src": "12754:188:62"
                    },
                    {
                      "condition": {
                        "id": 26101,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "12961:9:62",
                        "subExpression": {
                          "id": 26100,
                          "name": "_success",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26083,
                          "src": "12962:8:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 26124,
                      "nodeType": "IfStatement",
                      "src": "12957:299:62",
                      "trueBody": {
                        "id": 26123,
                        "nodeType": "Block",
                        "src": "12972:284:62",
                        "statements": [
                          {
                            "AST": {
                              "nativeSrc": "13000:68:62",
                              "nodeType": "YulBlock",
                              "src": "13000:68:62",
                              "statements": [
                                {
                                  "nativeSrc": "13023:26:62",
                                  "nodeType": "YulAssignment",
                                  "src": "13023:26:62",
                                  "value": {
                                    "arguments": [
                                      {
                                        "name": "_reason",
                                        "nativeSrc": "13038:7:62",
                                        "nodeType": "YulIdentifier",
                                        "src": "13038:7:62"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "13047:1:62",
                                        "nodeType": "YulLiteral",
                                        "src": "13047:1:62",
                                        "type": "",
                                        "value": "4"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "13034:3:62",
                                      "nodeType": "YulIdentifier",
                                      "src": "13034:3:62"
                                    },
                                    "nativeSrc": "13034:15:62",
                                    "nodeType": "YulFunctionCall",
                                    "src": "13034:15:62"
                                  },
                                  "variableNames": [
                                    {
                                      "name": "_reason",
                                      "nativeSrc": "13023:7:62",
                                      "nodeType": "YulIdentifier",
                                      "src": "13023:7:62"
                                    }
                                  ]
                                }
                              ]
                            },
                            "evmVersion": "prague",
                            "externalReferences": [
                              {
                                "declaration": 26085,
                                "isOffset": false,
                                "isSlot": false,
                                "src": "13023:7:62",
                                "valueSize": 1
                              },
                              {
                                "declaration": 26085,
                                "isOffset": false,
                                "isSlot": false,
                                "src": "13038:7:62",
                                "valueSize": 1
                              }
                            ],
                            "id": 26102,
                            "nodeType": "InlineAssembly",
                            "src": "12991:77:62"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "hexValue": "736d6f6b652d74657374206661696c65643a20",
                                          "id": 26108,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "kind": "string",
                                          "lValueRequested": false,
                                          "nodeType": "Literal",
                                          "src": "13139:21:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_stringliteral_7d4ed3f81824e31fe1e562de58eda6343e23b6c2093125ced8f2336f0dde4afb",
                                            "typeString": "literal_string \"smoke-test failed: \""
                                          },
                                          "value": "smoke-test failed: "
                                        },
                                        {
                                          "arguments": [
                                            {
                                              "arguments": [
                                                {
                                                  "id": 26113,
                                                  "name": "_reason",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 26085,
                                                  "src": "13201:7:62",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                  }
                                                },
                                                {
                                                  "components": [
                                                    {
                                                      "id": 26115,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": true,
                                                      "lValueRequested": false,
                                                      "nodeType": "ElementaryTypeNameExpression",
                                                      "src": "13210:6:62",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                        "typeString": "type(string storage pointer)"
                                                      },
                                                      "typeName": {
                                                        "id": 26114,
                                                        "name": "string",
                                                        "nodeType": "ElementaryTypeName",
                                                        "src": "13210:6:62",
                                                        "typeDescriptions": {}
                                                      }
                                                    }
                                                  ],
                                                  "id": 26116,
                                                  "isConstant": false,
                                                  "isInlineArray": false,
                                                  "isLValue": false,
                                                  "isPure": true,
                                                  "lValueRequested": false,
                                                  "nodeType": "TupleExpression",
                                                  "src": "13209:8:62",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                    "typeString": "type(string storage pointer)"
                                                  }
                                                }
                                              ],
                                              "expression": {
                                                "argumentTypes": [
                                                  {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                  },
                                                  {
                                                    "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                                    "typeString": "type(string storage pointer)"
                                                  }
                                                ],
                                                "expression": {
                                                  "id": 26111,
                                                  "name": "abi",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 4294967295,
                                                  "src": "13190:3:62",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_abi",
                                                    "typeString": "abi"
                                                  }
                                                },
                                                "id": 26112,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "memberLocation": "13194:6:62",
                                                "memberName": "decode",
                                                "nodeType": "MemberAccess",
                                                "src": "13190:10:62",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                                                  "typeString": "function () pure"
                                                }
                                              },
                                              "id": 26117,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "kind": "functionCall",
                                              "lValueRequested": false,
                                              "nameLocations": [],
                                              "names": [],
                                              "nodeType": "FunctionCall",
                                              "src": "13190:28:62",
                                              "tryCall": false,
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            ],
                                            "id": 26110,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "ElementaryTypeNameExpression",
                                            "src": "13183:6:62",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                              "typeString": "type(string storage pointer)"
                                            },
                                            "typeName": {
                                              "id": 26109,
                                              "name": "string",
                                              "nodeType": "ElementaryTypeName",
                                              "src": "13183:6:62",
                                              "typeDescriptions": {}
                                            }
                                          },
                                          "id": 26118,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "typeConversion",
                                          "lValueRequested": false,
                                          "nameLocations": [],
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "13183:36:62",
                                          "tryCall": false,
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_stringliteral_7d4ed3f81824e31fe1e562de58eda6343e23b6c2093125ced8f2336f0dde4afb",
                                            "typeString": "literal_string \"smoke-test failed: \""
                                          },
                                          {
                                            "typeIdentifier": "t_string_memory_ptr",
                                            "typeString": "string memory"
                                          }
                                        ],
                                        "expression": {
                                          "id": 26106,
                                          "name": "abi",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967295,
                                          "src": "13100:3:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_abi",
                                            "typeString": "abi"
                                          }
                                        },
                                        "id": 26107,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "memberLocation": "13104:12:62",
                                        "memberName": "encodePacked",
                                        "nodeType": "MemberAccess",
                                        "src": "13100:16:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                          "typeString": "function () pure returns (bytes memory)"
                                        }
                                      },
                                      "id": 26119,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "13100:138:62",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes memory"
                                      }
                                    ],
                                    "id": 26105,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "13093:6:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                                      "typeString": "type(string storage pointer)"
                                    },
                                    "typeName": {
                                      "id": 26104,
                                      "name": "string",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "13093:6:62",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 26120,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "13093:146:62",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                ],
                                "id": 26103,
                                "name": "revert",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [
                                  4294967277,
                                  4294967277
                                ],
                                "referencedDeclaration": 4294967277,
                                "src": "13086:6:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$",
                                  "typeString": "function (string memory) pure"
                                }
                              },
                              "id": 26121,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [],
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "13086:154:62",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 26122,
                            "nodeType": "ExpressionStatement",
                            "src": "13086:154:62"
                          }
                        ]
                      }
                    }
                  ]
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 26129,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25957,
                        "src": "13329:7:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      {
                        "id": 26130,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25966,
                        "src": "13338:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      {
                        "id": 26131,
                        "name": "solver",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 25959,
                        "src": "13346:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "id": 26126,
                        "name": "IWitPriceFeedsLegacyAdmin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 29469,
                        "src": "13282:25:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacyAdmin_$29469_$",
                          "typeString": "type(contract IWitPriceFeedsLegacyAdmin)"
                        }
                      },
                      "id": 26128,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13308:20:62",
                      "memberName": "WitFeedSolverSettled",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 29389,
                      "src": "13282:46:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes4_$_t_address_$returns$__$",
                        "typeString": "function (string memory,bytes4,address)"
                      }
                    },
                    "id": 26132,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13282:71:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 26133,
                  "nodeType": "EmitStatement",
                  "src": "13277:76:62"
                }
              ]
            },
            "functionSelector": "03f3813d",
            "id": 26135,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "settleFeedSolver",
            "nameLocation": "11189:16:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 25963,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 25957,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "11236:7:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26135,
                  "src": "11220:23:62",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 25956,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "11220:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25959,
                  "mutability": "mutable",
                  "name": "solver",
                  "nameLocation": "11267:6:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26135,
                  "src": "11259:14:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 25958,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "11259:7:62",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 25962,
                  "mutability": "mutable",
                  "name": "deps",
                  "nameLocation": "11307:4:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26135,
                  "src": "11289:22:62",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 25960,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "11289:6:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 25961,
                    "nodeType": "ArrayTypeName",
                    "src": "11289:8:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "11205:117:62"
            },
            "returnParameters": {
              "id": 25964,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11344:0:62"
            },
            "scope": 26464,
            "src": "11180:2181:62",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 26227,
              "nodeType": "Block",
              "src": "13547:512:62",
              "statements": [
                {
                  "expression": {
                    "id": 26151,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 26147,
                      "name": "_ids",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26139,
                      "src": "13558:4:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                        "typeString": "bytes4[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 26148,
                          "name": "data",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 25245,
                          "src": "13565:4:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$25152_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitPriceFeedsLegacyDataLib.Storage storage pointer)"
                          }
                        },
                        "id": 26149,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "13565:6:62",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$25152_storage_ptr",
                          "typeString": "struct WitPriceFeedsLegacyDataLib.Storage storage pointer"
                        }
                      },
                      "id": 26150,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13572:3:62",
                      "memberName": "ids",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 25146,
                      "src": "13565:10:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_storage",
                        "typeString": "bytes4[] storage ref"
                      }
                    },
                    "src": "13558:17:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                      "typeString": "bytes4[] memory"
                    }
                  },
                  "id": 26152,
                  "nodeType": "ExpressionStatement",
                  "src": "13558:17:62"
                },
                {
                  "expression": {
                    "id": 26160,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 26153,
                      "name": "_captions",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26142,
                      "src": "13586:9:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 26157,
                            "name": "_ids",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26139,
                            "src": "13611:4:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                              "typeString": "bytes4[] memory"
                            }
                          },
                          "id": 26158,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13616:6:62",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "13611:11:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 26156,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "13598:12:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (string memory[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 26154,
                            "name": "string",
                            "nodeType": "ElementaryTypeName",
                            "src": "13602:6:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage_ptr",
                              "typeString": "string"
                            }
                          },
                          "id": 26155,
                          "nodeType": "ArrayTypeName",
                          "src": "13602:8:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                            "typeString": "string[]"
                          }
                        }
                      },
                      "id": 26159,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13598:25:62",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string memory[] memory"
                      }
                    },
                    "src": "13586:37:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[] memory"
                    }
                  },
                  "id": 26161,
                  "nodeType": "ExpressionStatement",
                  "src": "13586:37:62"
                },
                {
                  "expression": {
                    "id": 26169,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 26162,
                      "name": "_solvers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26145,
                      "src": "13634:8:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                        "typeString": "bytes32[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "expression": {
                            "id": 26166,
                            "name": "_ids",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26139,
                            "src": "13659:4:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                              "typeString": "bytes4[] memory"
                            }
                          },
                          "id": 26167,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "13664:6:62",
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "src": "13659:11:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 26165,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "13645:13:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (bytes32[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 26163,
                            "name": "bytes32",
                            "nodeType": "ElementaryTypeName",
                            "src": "13649:7:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "id": 26164,
                          "nodeType": "ArrayTypeName",
                          "src": "13649:9:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                            "typeString": "bytes32[]"
                          }
                        }
                      },
                      "id": 26168,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13645:26:62",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                        "typeString": "bytes32[] memory"
                      }
                    },
                    "src": "13634:37:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                      "typeString": "bytes32[] memory"
                    }
                  },
                  "id": 26170,
                  "nodeType": "ExpressionStatement",
                  "src": "13634:37:62"
                },
                {
                  "body": {
                    "id": 26225,
                    "nodeType": "Block",
                    "src": "13728:324:62",
                    "statements": [
                      {
                        "assignments": [
                          26184
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 26184,
                            "mutability": "mutable",
                            "name": "__record",
                            "nameLocation": "13758:8:62",
                            "nodeType": "VariableDeclaration",
                            "scope": 26225,
                            "src": "13743:23:62",
                            "stateVariable": false,
                            "storageLocation": "storage",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                              "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                            },
                            "typeName": {
                              "id": 26183,
                              "nodeType": "UserDefinedTypeName",
                              "pathNode": {
                                "id": 26182,
                                "name": "Record",
                                "nameLocations": [
                                  "13743:6:62"
                                ],
                                "nodeType": "IdentifierPath",
                                "referencedDeclaration": 25171,
                                "src": "13743:6:62"
                              },
                              "referencedDeclaration": 25171,
                              "src": "13743:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 26190,
                        "initialValue": {
                          "arguments": [
                            {
                              "baseExpression": {
                                "id": 26186,
                                "name": "_ids",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26139,
                                "src": "13780:4:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                  "typeString": "bytes4[] memory"
                                }
                              },
                              "id": 26188,
                              "indexExpression": {
                                "id": 26187,
                                "name": "_ix",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 26172,
                                "src": "13785:3:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "13780:9:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            ],
                            "id": 26185,
                            "name": "seekRecord",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 25352,
                            "src": "13769:10:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_struct$_Record_$25171_storage_ptr_$",
                              "typeString": "function (bytes4) view returns (struct WitPriceFeedsLegacyDataLib.Record storage pointer)"
                            }
                          },
                          "id": 26189,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13769:21:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                            "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "13743:47:62"
                      },
                      {
                        "expression": {
                          "id": 26196,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 26191,
                              "name": "_captions",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26142,
                              "src": "13805:9:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[] memory"
                              }
                            },
                            "id": 26193,
                            "indexExpression": {
                              "id": 26192,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26172,
                              "src": "13815:3:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "13805:14:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "expression": {
                              "id": 26194,
                              "name": "__record",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26184,
                              "src": "13822:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                              }
                            },
                            "id": 26195,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "13831:7:62",
                            "memberName": "caption",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 25154,
                            "src": "13822:16:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_storage",
                              "typeString": "string storage ref"
                            }
                          },
                          "src": "13805:33:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 26197,
                        "nodeType": "ExpressionStatement",
                        "src": "13805:33:62"
                      },
                      {
                        "expression": {
                          "id": 26223,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 26198,
                              "name": "_solvers",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26145,
                              "src": "13853:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                "typeString": "bytes32[] memory"
                              }
                            },
                            "id": 26200,
                            "indexExpression": {
                              "id": 26199,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26172,
                              "src": "13862:3:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "13853:13:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "components": [
                              {
                                "condition": {
                                  "commonType": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  "id": 26210,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "arguments": [
                                      {
                                        "expression": {
                                          "id": 26203,
                                          "name": "__record",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 26184,
                                          "src": "13896:8:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                            "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                          }
                                        },
                                        "id": 26204,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberLocation": "13905:6:62",
                                        "memberName": "solver",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 25166,
                                        "src": "13896:15:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "id": 26202,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "13888:7:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_address_$",
                                        "typeString": "type(address)"
                                      },
                                      "typeName": {
                                        "id": 26201,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13888:7:62",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 26205,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "13888:24:62",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "==",
                                  "rightExpression": {
                                    "arguments": [
                                      {
                                        "hexValue": "30",
                                        "id": 26208,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "13924:1:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        },
                                        "value": "0"
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_rational_0_by_1",
                                          "typeString": "int_const 0"
                                        }
                                      ],
                                      "id": 26207,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "13916:7:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_address_$",
                                        "typeString": "type(address)"
                                      },
                                      "typeName": {
                                        "id": 26206,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13916:7:62",
                                        "typeDescriptions": {}
                                      }
                                    },
                                    "id": 26209,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "13916:10:62",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  "src": "13888:38:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "falseExpression": {
                                  "arguments": [
                                    {
                                      "arguments": [
                                        {
                                          "expression": {
                                            "id": 26217,
                                            "name": "__record",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 26184,
                                            "src": "14008:8:62",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                              "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                            }
                                          },
                                          "id": 26218,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberLocation": "14017:6:62",
                                          "memberName": "solver",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 25166,
                                          "src": "14008:15:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        ],
                                        "id": 26216,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "lValueRequested": false,
                                        "nodeType": "ElementaryTypeNameExpression",
                                        "src": "14000:7:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_type$_t_bytes20_$",
                                          "typeString": "type(bytes20)"
                                        },
                                        "typeName": {
                                          "id": 26215,
                                          "name": "bytes20",
                                          "nodeType": "ElementaryTypeName",
                                          "src": "14000:7:62",
                                          "typeDescriptions": {}
                                        }
                                      },
                                      "id": 26219,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "typeConversion",
                                      "lValueRequested": false,
                                      "nameLocations": [],
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "14000:24:62",
                                      "tryCall": false,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes20",
                                        "typeString": "bytes20"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_bytes20",
                                        "typeString": "bytes20"
                                      }
                                    ],
                                    "id": 26214,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "13992:7:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_bytes32_$",
                                      "typeString": "type(bytes32)"
                                    },
                                    "typeName": {
                                      "id": 26213,
                                      "name": "bytes32",
                                      "nodeType": "ElementaryTypeName",
                                      "src": "13992:7:62",
                                      "typeDescriptions": {}
                                    }
                                  },
                                  "id": 26220,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "13992:33:62",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "id": 26221,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "Conditional",
                                "src": "13888:137:62",
                                "trueExpression": {
                                  "expression": {
                                    "id": 26211,
                                    "name": "__record",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 26184,
                                    "src": "13951:8:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Record_$25171_storage_ptr",
                                      "typeString": "struct WitPriceFeedsLegacyDataLib.Record storage pointer"
                                    }
                                  },
                                  "id": 26212,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "13960:7:62",
                                  "memberName": "radHash",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 25164,
                                  "src": "13951:16:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "id": 26222,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "13869:171:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "13853:187:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 26224,
                        "nodeType": "ExpressionStatement",
                        "src": "13853:187:62"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 26178,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 26175,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26172,
                      "src": "13701:3:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 26176,
                        "name": "_ids",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26139,
                        "src": "13707:4:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                          "typeString": "bytes4[] memory"
                        }
                      },
                      "id": 26177,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "13712:6:62",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "13707:11:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "13701:17:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 26226,
                  "initializationExpression": {
                    "assignments": [
                      26172
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 26172,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "13692:3:62",
                        "nodeType": "VariableDeclaration",
                        "scope": 26226,
                        "src": "13687:8:62",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 26171,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "13687:4:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 26174,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 26173,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "13698:1:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "13687:12:62"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 26180,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "13720:6:62",
                      "subExpression": {
                        "id": 26179,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26172,
                        "src": "13720:3:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 26181,
                    "nodeType": "ExpressionStatement",
                    "src": "13720:6:62"
                  },
                  "nodeType": "ForStatement",
                  "src": "13682:370:62"
                }
              ]
            },
            "functionSelector": "0306732e",
            "id": 26228,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "supportedFeeds",
            "nameLocation": "13378:14:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 26136,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13392:2:62"
            },
            "returnParameters": {
              "id": 26146,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26139,
                  "mutability": "mutable",
                  "name": "_ids",
                  "nameLocation": "13446:4:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26228,
                  "src": "13430:20:62",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 26137,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "13430:6:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 26138,
                    "nodeType": "ArrayTypeName",
                    "src": "13430:8:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 26142,
                  "mutability": "mutable",
                  "name": "_captions",
                  "nameLocation": "13481:9:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26228,
                  "src": "13465:25:62",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 26140,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "13465:6:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 26141,
                    "nodeType": "ArrayTypeName",
                    "src": "13465:8:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 26145,
                  "mutability": "mutable",
                  "name": "_solvers",
                  "nameLocation": "13522:8:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26228,
                  "src": "13505:25:62",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 26143,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "13505:7:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 26144,
                    "nodeType": "ArrayTypeName",
                    "src": "13505:9:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "13415:126:62"
            },
            "scope": 26464,
            "src": "13369:690:62",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 26280,
              "nodeType": "Block",
              "src": "14366:815:62",
              "statements": [
                {
                  "expression": {
                    "id": 26242,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 26237,
                      "name": "_solver",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26235,
                      "src": "14377:7:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 26239,
                          "name": "initcode",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26230,
                          "src": "14415:8:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_calldata_ptr",
                            "typeString": "bytes calldata"
                          }
                        },
                        {
                          "id": 26240,
                          "name": "constructorParams",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26232,
                          "src": "14425:17:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_calldata_ptr",
                            "typeString": "bytes calldata"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_calldata_ptr",
                            "typeString": "bytes calldata"
                          },
                          {
                            "typeIdentifier": "t_bytes_calldata_ptr",
                            "typeString": "bytes calldata"
                          }
                        ],
                        "id": 26238,
                        "name": "determinePriceSolverAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26324,
                        "src": "14387:27:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_bytes_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_address_$",
                          "typeString": "function (bytes calldata,bytes calldata) view returns (address)"
                        }
                      },
                      "id": 26241,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "14387:56:62",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "14377:66:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 26243,
                  "nodeType": "ExpressionStatement",
                  "src": "14377:66:62"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 26248,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "expression": {
                          "id": 26244,
                          "name": "_solver",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26235,
                          "src": "14458:7:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 26245,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "14466:4:62",
                        "memberName": "code",
                        "nodeType": "MemberAccess",
                        "src": "14458:12:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      },
                      "id": 26246,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "14471:6:62",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "14458:19:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "hexValue": "30",
                      "id": 26247,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "14481:1:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "14458:24:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 26279,
                  "nodeType": "IfStatement",
                  "src": "14454:720:62",
                  "trueBody": {
                    "id": 26278,
                    "nodeType": "Block",
                    "src": "14484:690:62",
                    "statements": [
                      {
                        "assignments": [
                          26250
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 26250,
                            "mutability": "mutable",
                            "name": "_bytecode",
                            "nameLocation": "14512:9:62",
                            "nodeType": "VariableDeclaration",
                            "scope": 26278,
                            "src": "14499:22:62",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes_memory_ptr",
                              "typeString": "bytes"
                            },
                            "typeName": {
                              "id": 26249,
                              "name": "bytes",
                              "nodeType": "ElementaryTypeName",
                              "src": "14499:5:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_storage_ptr",
                                "typeString": "bytes"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 26255,
                        "initialValue": {
                          "arguments": [
                            {
                              "id": 26252,
                              "name": "initcode",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26230,
                              "src": "14542:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_calldata_ptr",
                                "typeString": "bytes calldata"
                              }
                            },
                            {
                              "id": 26253,
                              "name": "constructorParams",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26232,
                              "src": "14552:17:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes_calldata_ptr",
                                "typeString": "bytes calldata"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes_calldata_ptr",
                                "typeString": "bytes calldata"
                              },
                              {
                                "typeIdentifier": "t_bytes_calldata_ptr",
                                "typeString": "bytes calldata"
                              }
                            ],
                            "id": 26251,
                            "name": "_completeInitCode",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26433,
                            "src": "14524:17:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function (bytes calldata,bytes calldata) pure returns (bytes memory)"
                            }
                          },
                          "id": 26254,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "14524:46:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "14499:71:62"
                      },
                      {
                        "assignments": [
                          26257
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 26257,
                            "mutability": "mutable",
                            "name": "_createdContract",
                            "nameLocation": "14593:16:62",
                            "nodeType": "VariableDeclaration",
                            "scope": 26278,
                            "src": "14585:24:62",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            "typeName": {
                              "id": 26256,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "14585:7:62",
                              "stateMutability": "nonpayable",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            "visibility": "internal"
                          }
                        ],
                        "id": 26258,
                        "nodeType": "VariableDeclarationStatement",
                        "src": "14585:24:62"
                      },
                      {
                        "AST": {
                          "nativeSrc": "14633:212:62",
                          "nodeType": "YulBlock",
                          "src": "14633:212:62",
                          "statements": [
                            {
                              "nativeSrc": "14652:178:62",
                              "nodeType": "YulAssignment",
                              "src": "14652:178:62",
                              "value": {
                                "arguments": [
                                  {
                                    "kind": "number",
                                    "nativeSrc": "14702:1:62",
                                    "nodeType": "YulLiteral",
                                    "src": "14702:1:62",
                                    "type": "",
                                    "value": "0"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "name": "_bytecode",
                                        "nativeSrc": "14731:9:62",
                                        "nodeType": "YulIdentifier",
                                        "src": "14731:9:62"
                                      },
                                      {
                                        "kind": "number",
                                        "nativeSrc": "14742:4:62",
                                        "nodeType": "YulLiteral",
                                        "src": "14742:4:62",
                                        "type": "",
                                        "value": "0x20"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "add",
                                      "nativeSrc": "14727:3:62",
                                      "nodeType": "YulIdentifier",
                                      "src": "14727:3:62"
                                    },
                                    "nativeSrc": "14727:20:62",
                                    "nodeType": "YulFunctionCall",
                                    "src": "14727:20:62"
                                  },
                                  {
                                    "arguments": [
                                      {
                                        "name": "_bytecode",
                                        "nativeSrc": "14776:9:62",
                                        "nodeType": "YulIdentifier",
                                        "src": "14776:9:62"
                                      }
                                    ],
                                    "functionName": {
                                      "name": "mload",
                                      "nativeSrc": "14770:5:62",
                                      "nodeType": "YulIdentifier",
                                      "src": "14770:5:62"
                                    },
                                    "nativeSrc": "14770:16:62",
                                    "nodeType": "YulFunctionCall",
                                    "src": "14770:16:62"
                                  },
                                  {
                                    "kind": "number",
                                    "nativeSrc": "14810:1:62",
                                    "nodeType": "YulLiteral",
                                    "src": "14810:1:62",
                                    "type": "",
                                    "value": "0"
                                  }
                                ],
                                "functionName": {
                                  "name": "create2",
                                  "nativeSrc": "14672:7:62",
                                  "nodeType": "YulIdentifier",
                                  "src": "14672:7:62"
                                },
                                "nativeSrc": "14672:158:62",
                                "nodeType": "YulFunctionCall",
                                "src": "14672:158:62"
                              },
                              "variableNames": [
                                {
                                  "name": "_createdContract",
                                  "nativeSrc": "14652:16:62",
                                  "nodeType": "YulIdentifier",
                                  "src": "14652:16:62"
                                }
                              ]
                            }
                          ]
                        },
                        "evmVersion": "prague",
                        "externalReferences": [
                          {
                            "declaration": 26250,
                            "isOffset": false,
                            "isSlot": false,
                            "src": "14731:9:62",
                            "valueSize": 1
                          },
                          {
                            "declaration": 26250,
                            "isOffset": false,
                            "isSlot": false,
                            "src": "14776:9:62",
                            "valueSize": 1
                          },
                          {
                            "declaration": 26257,
                            "isOffset": false,
                            "isSlot": false,
                            "src": "14652:16:62",
                            "valueSize": 1
                          }
                        ],
                        "id": 26259,
                        "nodeType": "InlineAssembly",
                        "src": "14624:221:62"
                      },
                      {
                        "expression": {
                          "id": 26262,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 26260,
                            "name": "_solver",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26235,
                            "src": "14935:7:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "id": 26261,
                            "name": "_createdContract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 26257,
                            "src": "14945:16:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "14935:26:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 26263,
                        "nodeType": "ExpressionStatement",
                        "src": "14935:26:62"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "commonType": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              },
                              "id": 26274,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "arguments": [
                                      {
                                        "id": 26266,
                                        "name": "_solver",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 26235,
                                        "src": "15029:7:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "id": 26265,
                                      "name": "IWitPriceFeedsLegacySolver",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 29521,
                                      "src": "15002:26:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                        "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                      }
                                    },
                                    "id": 26267,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "15002:35:62",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_IWitPriceFeedsLegacySolver_$29521",
                                      "typeString": "contract IWitPriceFeedsLegacySolver"
                                    }
                                  },
                                  "id": 26268,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "15038:5:62",
                                  "memberName": "specs",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 29512,
                                  "src": "15002:41:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_pure$__$returns$_t_bytes4_$",
                                    "typeString": "function () pure external returns (bytes4)"
                                  }
                                },
                                "id": 26269,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "15002:43:62",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "==",
                              "rightExpression": {
                                "expression": {
                                  "arguments": [
                                    {
                                      "id": 26271,
                                      "name": "IWitPriceFeedsLegacySolver",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 29521,
                                      "src": "15054:26:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                        "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                        "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                      }
                                    ],
                                    "id": 26270,
                                    "name": "type",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4294967269,
                                    "src": "15049:4:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_metatype_pure$__$returns$__$",
                                      "typeString": "function () pure"
                                    }
                                  },
                                  "id": 26272,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "nameLocations": [],
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "15049:32:62",
                                  "tryCall": false,
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_meta_type_t_contract$_IWitPriceFeedsLegacySolver_$29521",
                                    "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                  }
                                },
                                "id": 26273,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "15082:11:62",
                                "memberName": "interfaceId",
                                "nodeType": "MemberAccess",
                                "src": "15049:44:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              "src": "15002:91:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "hexValue": "756e636f6d706c69616e7420736f6c76657220696d706c656d656e746174696f6e",
                              "id": 26275,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "15112:35:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_47258aa661f16d1b83e6992f426809824b97de6d4c1546080ae22fc060ac6612",
                                "typeString": "literal_string \"uncompliant solver implementation\""
                              },
                              "value": "uncompliant solver implementation"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_47258aa661f16d1b83e6992f426809824b97de6d4c1546080ae22fc060ac6612",
                                "typeString": "literal_string \"uncompliant solver implementation\""
                              }
                            ],
                            "id": 26264,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4294967278,
                              4294967278,
                              4294967278
                            ],
                            "referencedDeclaration": 4294967278,
                            "src": "14976:7:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 26276,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "14976:186:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 26277,
                        "nodeType": "ExpressionStatement",
                        "src": "14976:186:62"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "a55b471c",
            "id": 26281,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deployPriceSolver",
            "nameLocation": "14196:17:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 26233,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26230,
                  "mutability": "mutable",
                  "name": "initcode",
                  "nameLocation": "14243:8:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26281,
                  "src": "14228:23:62",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 26229,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "14228:5:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 26232,
                  "mutability": "mutable",
                  "name": "constructorParams",
                  "nameLocation": "14281:17:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26281,
                  "src": "14266:32:62",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 26231,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "14266:5:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14213:96:62"
            },
            "returnParameters": {
              "id": 26236,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26235,
                  "mutability": "mutable",
                  "name": "_solver",
                  "nameLocation": "14352:7:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26281,
                  "src": "14344:15:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 26234,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "14344:7:62",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "14343:17:62"
            },
            "scope": 26464,
            "src": "14187:994:62",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 26323,
              "nodeType": "Block",
              "src": "15375:336:62",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "arguments": [
                                  {
                                    "arguments": [
                                      {
                                        "arguments": [
                                          {
                                            "hexValue": "30786666",
                                            "id": 26301,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "15502:4:62",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_255_by_1",
                                              "typeString": "int_const 255"
                                            },
                                            "value": "0xff"
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_rational_255_by_1",
                                              "typeString": "int_const 255"
                                            }
                                          ],
                                          "id": 26300,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "15495:6:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes1_$",
                                            "typeString": "type(bytes1)"
                                          },
                                          "typeName": {
                                            "id": 26299,
                                            "name": "bytes1",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "15495:6:62",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 26302,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15495:12:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        }
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "id": 26305,
                                            "name": "this",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4294967268,
                                            "src": "15538:4:62",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_contract$_WitPriceFeedsLegacyDataLib_$26464",
                                              "typeString": "library WitPriceFeedsLegacyDataLib"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_contract$_WitPriceFeedsLegacyDataLib_$26464",
                                              "typeString": "library WitPriceFeedsLegacyDataLib"
                                            }
                                          ],
                                          "id": 26304,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "15530:7:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_address_$",
                                            "typeString": "type(address)"
                                          },
                                          "typeName": {
                                            "id": 26303,
                                            "name": "address",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "15530:7:62",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 26306,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15530:13:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "hexValue": "30",
                                            "id": 26309,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "15574:1:62",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_0_by_1",
                                              "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_rational_0_by_1",
                                              "typeString": "int_const 0"
                                            }
                                          ],
                                          "id": 26308,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "15566:7:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_bytes32_$",
                                            "typeString": "type(bytes32)"
                                          },
                                          "typeName": {
                                            "id": 26307,
                                            "name": "bytes32",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "15566:7:62",
                                            "typeDescriptions": {}
                                          }
                                        },
                                        "id": 26310,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15566:10:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "arguments": [
                                          {
                                            "arguments": [
                                              {
                                                "id": 26313,
                                                "name": "initcode",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 26283,
                                                "src": "15627:8:62",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_bytes_calldata_ptr",
                                                  "typeString": "bytes calldata"
                                                }
                                              },
                                              {
                                                "id": 26314,
                                                "name": "constructorParams",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 26285,
                                                "src": "15637:17:62",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_bytes_calldata_ptr",
                                                  "typeString": "bytes calldata"
                                                }
                                              }
                                            ],
                                            "expression": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_bytes_calldata_ptr",
                                                  "typeString": "bytes calldata"
                                                },
                                                {
                                                  "typeIdentifier": "t_bytes_calldata_ptr",
                                                  "typeString": "bytes calldata"
                                                }
                                              ],
                                              "id": 26312,
                                              "name": "_completeInitCode",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 26433,
                                              "src": "15609:17:62",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$_t_bytes_calldata_ptr_$returns$_t_bytes_memory_ptr_$",
                                                "typeString": "function (bytes calldata,bytes calldata) pure returns (bytes memory)"
                                              }
                                            },
                                            "id": 26315,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "nameLocations": [],
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "15609:46:62",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes_memory_ptr",
                                              "typeString": "bytes memory"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_bytes_memory_ptr",
                                              "typeString": "bytes memory"
                                            }
                                          ],
                                          "id": 26311,
                                          "name": "keccak256",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4294967288,
                                          "src": "15599:9:62",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                            "typeString": "function (bytes memory) pure returns (bytes32)"
                                          }
                                        },
                                        "id": 26316,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "nameLocations": [],
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15599:57:62",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes1",
                                          "typeString": "bytes1"
                                        },
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "expression": {
                                        "id": 26297,
                                        "name": "abi",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4294967295,
                                        "src": "15456:3:62",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_magic_abi",
                                          "typeString": "abi"
                                        }
                                      },
                                      "id": 26298,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "memberLocation": "15460:12:62",
                                      "memberName": "encodePacked",
                                      "nodeType": "MemberAccess",
                                      "src": "15456:16:62",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                        "typeString": "function () pure returns (bytes memory)"
                                      }
                                    },
                                    "id": 26317,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "nameLocations": [],
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "15456:219:62",
                                    "tryCall": false,
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  ],
                                  "id": 26296,
                                  "name": "keccak256",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4294967288,
                                  "src": "15428:9:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                    "typeString": "function (bytes memory) pure returns (bytes32)"
                                  }
                                },
                                "id": 26318,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "15428:262:62",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 26295,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "15423:4:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_uint256_$",
                                "typeString": "type(uint256)"
                              },
                              "typeName": {
                                "id": 26294,
                                "name": "uint",
                                "nodeType": "ElementaryTypeName",
                                "src": "15423:4:62",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 26319,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "15423:268:62",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 26293,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "15415:7:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_uint160_$",
                            "typeString": "type(uint160)"
                          },
                          "typeName": {
                            "id": 26292,
                            "name": "uint160",
                            "nodeType": "ElementaryTypeName",
                            "src": "15415:7:62",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 26320,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "15415:277:62",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint160",
                          "typeString": "uint160"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint160",
                          "typeString": "uint160"
                        }
                      ],
                      "id": 26291,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "15393:7:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 26290,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "15393:7:62",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 26321,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15393:310:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 26289,
                  "id": 26322,
                  "nodeType": "Return",
                  "src": "15386:317:62"
                }
              ]
            },
            "functionSelector": "ff75890f",
            "id": 26324,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "determinePriceSolverAddress",
            "nameLocation": "15198:27:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 26286,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26283,
                  "mutability": "mutable",
                  "name": "initcode",
                  "nameLocation": "15255:8:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26324,
                  "src": "15240:23:62",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 26282,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "15240:5:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 26285,
                  "mutability": "mutable",
                  "name": "constructorParams",
                  "nameLocation": "15293:17:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26324,
                  "src": "15278:32:62",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 26284,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "15278:5:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15225:96:62"
            },
            "returnParameters": {
              "id": 26289,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26288,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 26324,
                  "src": "15361:7:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 26287,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "15361:7:62",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15360:9:62"
            },
            "scope": 26464,
            "src": "15189:522:62",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 26416,
              "nodeType": "Block",
              "src": "15797:500:62",
              "statements": [
                {
                  "assignments": [
                    26335
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 26335,
                      "mutability": "mutable",
                      "name": "_caption",
                      "nameLocation": "15828:8:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 26416,
                      "src": "15808:28:62",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                        "typeString": "struct Slices.Slice"
                      },
                      "typeName": {
                        "id": 26334,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 26333,
                          "name": "Slices.Slice",
                          "nameLocations": [
                            "15808:6:62",
                            "15815:5:62"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 32542,
                          "src": "15808:12:62"
                        },
                        "referencedDeclaration": 32542,
                        "src": "15808:12:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Slice_$32542_storage_ptr",
                          "typeString": "struct Slices.Slice"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 26339,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 26336,
                        "name": "caption",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26326,
                        "src": "15839:7:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_calldata_ptr",
                          "typeString": "string calldata"
                        }
                      },
                      "id": 26337,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15847:7:62",
                      "memberName": "toSlice",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 32617,
                      "src": "15839:15:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_Slice_$32542_memory_ptr_$attached_to$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) pure returns (struct Slices.Slice memory)"
                      }
                    },
                    "id": 26338,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15839:17:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                      "typeString": "struct Slices.Slice memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15808:48:62"
                },
                {
                  "assignments": [
                    26344
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 26344,
                      "mutability": "mutable",
                      "name": "_delim",
                      "nameLocation": "15887:6:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 26416,
                      "src": "15867:26:62",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                        "typeString": "struct Slices.Slice"
                      },
                      "typeName": {
                        "id": 26343,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 26342,
                          "name": "Slices.Slice",
                          "nameLocations": [
                            "15867:6:62",
                            "15874:5:62"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 32542,
                          "src": "15867:12:62"
                        },
                        "referencedDeclaration": 32542,
                        "src": "15867:12:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Slice_$32542_storage_ptr",
                          "typeString": "struct Slices.Slice"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 26351,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "arguments": [
                          {
                            "hexValue": "2d",
                            "id": 26347,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "15903:3:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561",
                              "typeString": "literal_string \"-\""
                            },
                            "value": "-"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561",
                              "typeString": "literal_string \"-\""
                            }
                          ],
                          "id": 26346,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "15896:6:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                            "typeString": "type(string storage pointer)"
                          },
                          "typeName": {
                            "id": 26345,
                            "name": "string",
                            "nodeType": "ElementaryTypeName",
                            "src": "15896:6:62",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 26348,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "15896:11:62",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "id": 26349,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "15908:7:62",
                      "memberName": "toSlice",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 32617,
                      "src": "15896:19:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_struct$_Slice_$32542_memory_ptr_$attached_to$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) pure returns (struct Slices.Slice memory)"
                      }
                    },
                    "id": 26350,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15896:21:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                      "typeString": "struct Slices.Slice memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15867:50:62"
                },
                {
                  "assignments": [
                    26356
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 26356,
                      "mutability": "mutable",
                      "name": "_parts",
                      "nameLocation": "15944:6:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 26416,
                      "src": "15928:22:62",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                        "typeString": "string[]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 26354,
                          "name": "string",
                          "nodeType": "ElementaryTypeName",
                          "src": "15928:6:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage_ptr",
                            "typeString": "string"
                          }
                        },
                        "id": 26355,
                        "nodeType": "ArrayTypeName",
                        "src": "15928:8:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                          "typeString": "string[]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 26367,
                  "initialValue": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 26365,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 26362,
                              "name": "_delim",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26344,
                              "src": "15981:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                "typeString": "struct Slices.Slice memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                "typeString": "struct Slices.Slice memory"
                              }
                            ],
                            "expression": {
                              "id": 26360,
                              "name": "_caption",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26335,
                              "src": "15966:8:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                "typeString": "struct Slices.Slice memory"
                              }
                            },
                            "id": 26361,
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "15975:5:62",
                            "memberName": "count",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 34175,
                            "src": "15966:14:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_struct$_Slice_$32542_memory_ptr_$_t_struct$_Slice_$32542_memory_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Slice_$32542_memory_ptr_$",
                              "typeString": "function (struct Slices.Slice memory,struct Slices.Slice memory) pure returns (uint256)"
                            }
                          },
                          "id": 26363,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15966:22:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "+",
                        "rightExpression": {
                          "hexValue": "31",
                          "id": 26364,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "15991:1:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "15966:26:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 26359,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "15953:12:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$",
                        "typeString": "function (uint256) pure returns (string memory[] memory)"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 26357,
                          "name": "string",
                          "nodeType": "ElementaryTypeName",
                          "src": "15957:6:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_storage_ptr",
                            "typeString": "string"
                          }
                        },
                        "id": 26358,
                        "nodeType": "ArrayTypeName",
                        "src": "15957:8:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                          "typeString": "string[]"
                        }
                      }
                    },
                    "id": 26366,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15953:40:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                      "typeString": "string memory[] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15928:65:62"
                },
                {
                  "body": {
                    "id": 26390,
                    "nodeType": "Block",
                    "src": "16052:74:62",
                    "statements": [
                      {
                        "expression": {
                          "id": 26388,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 26379,
                              "name": "_parts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26356,
                              "src": "16067:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[] memory"
                              }
                            },
                            "id": 26381,
                            "indexExpression": {
                              "id": 26380,
                              "name": "_ix",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26369,
                              "src": "16074:3:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "16067:11:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [],
                            "expression": {
                              "argumentTypes": [],
                              "expression": {
                                "arguments": [
                                  {
                                    "id": 26384,
                                    "name": "_delim",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 26344,
                                    "src": "16096:6:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                      "typeString": "struct Slices.Slice memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                      "typeString": "struct Slices.Slice memory"
                                    }
                                  ],
                                  "expression": {
                                    "id": 26382,
                                    "name": "_caption",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 26335,
                                    "src": "16081:8:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                      "typeString": "struct Slices.Slice memory"
                                    }
                                  },
                                  "id": 26383,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "16090:5:62",
                                  "memberName": "split",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 34022,
                                  "src": "16081:14:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_struct$_Slice_$32542_memory_ptr_$_t_struct$_Slice_$32542_memory_ptr_$returns$_t_struct$_Slice_$32542_memory_ptr_$attached_to$_t_struct$_Slice_$32542_memory_ptr_$",
                                    "typeString": "function (struct Slices.Slice memory,struct Slices.Slice memory) pure returns (struct Slices.Slice memory)"
                                  }
                                },
                                "id": 26385,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "16081:22:62",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Slice_$32542_memory_ptr",
                                  "typeString": "struct Slices.Slice memory"
                                }
                              },
                              "id": 26386,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "16104:8:62",
                              "memberName": "toString",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 32842,
                              "src": "16081:31:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_struct$_Slice_$32542_memory_ptr_$returns$_t_string_memory_ptr_$attached_to$_t_struct$_Slice_$32542_memory_ptr_$",
                                "typeString": "function (struct Slices.Slice memory) pure returns (string memory)"
                              }
                            },
                            "id": 26387,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "16081:33:62",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "16067:47:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 26389,
                        "nodeType": "ExpressionStatement",
                        "src": "16067:47:62"
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 26375,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 26372,
                      "name": "_ix",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 26369,
                      "src": "16023:3:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 26373,
                        "name": "_parts",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26356,
                        "src": "16029:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                          "typeString": "string memory[] memory"
                        }
                      },
                      "id": 26374,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16036:6:62",
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "16029:13:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "16023:19:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 26391,
                  "initializationExpression": {
                    "assignments": [
                      26369
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 26369,
                        "mutability": "mutable",
                        "name": "_ix",
                        "nameLocation": "16014:3:62",
                        "nodeType": "VariableDeclaration",
                        "scope": 26391,
                        "src": "16009:8:62",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 26368,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "16009:4:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 26371,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 26370,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "16020:1:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "16009:12:62"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 26377,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "16044:6:62",
                      "subExpression": {
                        "id": 26376,
                        "name": "_ix",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26369,
                        "src": "16044:3:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 26378,
                    "nodeType": "ExpressionStatement",
                    "src": "16044:6:62"
                  },
                  "nodeType": "ForStatement",
                  "src": "16004:122:62"
                },
                {
                  "assignments": [
                    26393,
                    26395
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 26393,
                      "mutability": "mutable",
                      "name": "_decimals",
                      "nameLocation": "16142:9:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 26416,
                      "src": "16137:14:62",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 26392,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "16137:4:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    },
                    {
                      "constant": false,
                      "id": 26395,
                      "mutability": "mutable",
                      "name": "_success",
                      "nameLocation": "16158:8:62",
                      "nodeType": "VariableDeclaration",
                      "scope": 26416,
                      "src": "16153:13:62",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 26394,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "16153:4:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 26405,
                  "initialValue": {
                    "arguments": [
                      {
                        "baseExpression": {
                          "id": 26398,
                          "name": "_parts",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 26356,
                          "src": "16185:6:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                            "typeString": "string memory[] memory"
                          }
                        },
                        "id": 26403,
                        "indexExpression": {
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 26402,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "expression": {
                              "id": 26399,
                              "name": "_parts",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26356,
                              "src": "16192:6:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                                "typeString": "string memory[] memory"
                              }
                            },
                            "id": 26400,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "16199:6:62",
                            "memberName": "length",
                            "nodeType": "MemberAccess",
                            "src": "16192:13:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "hexValue": "31",
                            "id": 26401,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "16208:1:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "16192:17:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "16185:25:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "expression": {
                        "id": 26396,
                        "name": "Witnet",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 40741,
                        "src": "16170:6:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_Witnet_$40741_$",
                          "typeString": "type(library Witnet)"
                        }
                      },
                      "id": 26397,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "16177:7:62",
                      "memberName": "tryUint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 40116,
                      "src": "16170:14:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_uint256_$_t_bool_$",
                        "typeString": "function (string memory) pure returns (uint256,bool)"
                      }
                    },
                    "id": 26404,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16170:41:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$",
                      "typeString": "tuple(uint256,bool)"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "16136:75:62"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 26407,
                        "name": "_success",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26395,
                        "src": "16230:8:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "62616420646563696d616c73",
                        "id": 26408,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "16240:14:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6d8dc20c0b65a034f73794fa34cd41247fce46ed1ea58582bb13055813593b66",
                          "typeString": "literal_string \"bad decimals\""
                        },
                        "value": "bad decimals"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6d8dc20c0b65a034f73794fa34cd41247fce46ed1ea58582bb13055813593b66",
                          "typeString": "literal_string \"bad decimals\""
                        }
                      ],
                      "id": 26406,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4294967278,
                        4294967278,
                        4294967278
                      ],
                      "referencedDeclaration": 4294967278,
                      "src": "16222:7:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 26409,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16222:33:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 26410,
                  "nodeType": "ExpressionStatement",
                  "src": "16222:33:62"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 26413,
                        "name": "_decimals",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26393,
                        "src": "16279:9:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 26412,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "16273:5:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_uint8_$",
                        "typeString": "type(uint8)"
                      },
                      "typeName": {
                        "id": 26411,
                        "name": "uint8",
                        "nodeType": "ElementaryTypeName",
                        "src": "16273:5:62",
                        "typeDescriptions": {}
                      }
                    },
                    "id": 26414,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16273:16:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "functionReturnParameters": 26330,
                  "id": 26415,
                  "nodeType": "Return",
                  "src": "16266:23:62"
                }
              ]
            },
            "functionSelector": "e6f3e35d",
            "id": 26417,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "validateCaption",
            "nameLocation": "15728:15:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 26327,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26326,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "15760:7:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26417,
                  "src": "15744:23:62",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 26325,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15744:6:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15743:25:62"
            },
            "returnParameters": {
              "id": 26330,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26329,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 26417,
                  "src": "15790:5:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 26328,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "15790:5:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "15789:7:62"
            },
            "scope": 26464,
            "src": "15719:578:62",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "body": {
              "id": 26432,
              "nodeType": "Block",
              "src": "16668:108:62",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 26428,
                        "name": "initcode",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26419,
                        "src": "16717:8:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      },
                      {
                        "id": 26429,
                        "name": "constructorParams",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 26421,
                        "src": "16740:17:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        },
                        {
                          "typeIdentifier": "t_bytes_calldata_ptr",
                          "typeString": "bytes calldata"
                        }
                      ],
                      "expression": {
                        "id": 26426,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4294967295,
                        "src": "16686:3:62",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 26427,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "16690:12:62",
                      "memberName": "encodePacked",
                      "nodeType": "MemberAccess",
                      "src": "16686:16:62",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function () pure returns (bytes memory)"
                      }
                    },
                    "id": 26430,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16686:82:62",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "functionReturnParameters": 26425,
                  "id": 26431,
                  "nodeType": "Return",
                  "src": "16679:89:62"
                }
              ]
            },
            "id": 26433,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_completeInitCode",
            "nameLocation": "16532:17:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 26422,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26419,
                  "mutability": "mutable",
                  "name": "initcode",
                  "nameLocation": "16565:8:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26433,
                  "src": "16550:23:62",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 26418,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "16550:5:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 26421,
                  "mutability": "mutable",
                  "name": "constructorParams",
                  "nameLocation": "16590:17:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26433,
                  "src": "16575:32:62",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 26420,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "16575:5:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16549:59:62"
            },
            "returnParameters": {
              "id": 26425,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26424,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 26433,
                  "src": "16649:12:62",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 26423,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "16649:5:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16648:14:62"
            },
            "scope": 26464,
            "src": "16523:253:62",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          },
          {
            "body": {
              "id": 26462,
              "nodeType": "Block",
              "src": "16945:335:62",
              "statements": [
                {
                  "expression": {
                    "components": [
                      {
                        "condition": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "expression": {
                              "id": 26442,
                              "name": "_resultStatus",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 26436,
                              "src": "16964:13:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_ResultStatus_$37698",
                                "typeString": "enum Witnet.ResultStatus"
                              }
                            },
                            "id": 26443,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "16978:11:62",
                            "memberName": "keepWaiting",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 38959,
                            "src": "16964:25:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_enum$_ResultStatus_$37698_$returns$_t_bool_$attached_to$_t_enum$_ResultStatus_$37698_$",
                              "typeString": "function (enum Witnet.ResultStatus) pure returns (bool)"
                            }
                          },
                          "id": 26444,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16964:27:62",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseExpression": {
                          "components": [
                            {
                              "condition": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "id": 26448,
                                    "name": "_resultStatus",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 26436,
                                    "src": "17079:13:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_enum$_ResultStatus_$37698",
                                      "typeString": "enum Witnet.ResultStatus"
                                    }
                                  },
                                  "id": 26449,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "17093:9:62",
                                  "memberName": "hasErrors",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 38902,
                                  "src": "17079:23:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_pure$_t_enum$_ResultStatus_$37698_$returns$_t_bool_$attached_to$_t_enum$_ResultStatus_$37698_$",
                                    "typeString": "function (enum Witnet.ResultStatus) pure returns (bool)"
                                  }
                                },
                                "id": 26450,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "nameLocations": [],
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "17079:25:62",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "falseExpression": {
                                "expression": {
                                  "expression": {
                                    "id": 26454,
                                    "name": "IWitPriceFeedsLegacySolver",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 29521,
                                    "src": "17195:26:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                      "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                    }
                                  },
                                  "id": 26455,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "17222:18:62",
                                  "memberName": "LatestUpdateStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 29477,
                                  "src": "17195:45:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_LatestUpdateStatus_$29477_$",
                                    "typeString": "type(enum IWitPriceFeedsLegacySolver.LatestUpdateStatus)"
                                  }
                                },
                                "id": 26456,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "17241:5:62",
                                "memberName": "Ready",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 29475,
                                "src": "17195:51:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                  "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                                }
                              },
                              "id": 26457,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "Conditional",
                              "src": "17079:167:62",
                              "trueExpression": {
                                "expression": {
                                  "expression": {
                                    "id": 26451,
                                    "name": "IWitPriceFeedsLegacySolver",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 29521,
                                    "src": "17124:26:62",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                      "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                                    }
                                  },
                                  "id": 26452,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "17151:18:62",
                                  "memberName": "LatestUpdateStatus",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 29477,
                                  "src": "17124:45:62",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_enum$_LatestUpdateStatus_$29477_$",
                                    "typeString": "type(enum IWitPriceFeedsLegacySolver.LatestUpdateStatus)"
                                  }
                                },
                                "id": 26453,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "memberLocation": "17170:5:62",
                                "memberName": "Error",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 29476,
                                "src": "17124:51:62",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                  "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                                }
                              },
                              "typeDescriptions": {
                                "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                                "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                              }
                            }
                          ],
                          "id": 26458,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "17078:183:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                            "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                          }
                        },
                        "id": 26459,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "Conditional",
                        "src": "16964:297:62",
                        "trueExpression": {
                          "expression": {
                            "expression": {
                              "id": 26445,
                              "name": "IWitPriceFeedsLegacySolver",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 29521,
                              "src": "17008:26:62",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IWitPriceFeedsLegacySolver_$29521_$",
                                "typeString": "type(contract IWitPriceFeedsLegacySolver)"
                              }
                            },
                            "id": 26446,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "17035:18:62",
                            "memberName": "LatestUpdateStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 29477,
                            "src": "17008:45:62",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_LatestUpdateStatus_$29477_$",
                              "typeString": "type(enum IWitPriceFeedsLegacySolver.LatestUpdateStatus)"
                            }
                          },
                          "id": 26447,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "17054:8:62",
                          "memberName": "Awaiting",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 29474,
                          "src": "17008:54:62",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                            "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                          "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                        }
                      }
                    ],
                    "id": 26460,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "16963:309:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                      "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                    }
                  },
                  "functionReturnParameters": 26441,
                  "id": 26461,
                  "nodeType": "Return",
                  "src": "16956:316:62"
                }
              ]
            },
            "id": 26463,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_intoLatestUpdateStatus",
            "nameLocation": "16793:23:62",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 26437,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26436,
                  "mutability": "mutable",
                  "name": "_resultStatus",
                  "nameLocation": "16837:13:62",
                  "nodeType": "VariableDeclaration",
                  "scope": 26463,
                  "src": "16817:33:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ResultStatus_$37698",
                    "typeString": "enum Witnet.ResultStatus"
                  },
                  "typeName": {
                    "id": 26435,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 26434,
                      "name": "Witnet.ResultStatus",
                      "nameLocations": [
                        "16817:6:62",
                        "16824:12:62"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37698,
                      "src": "16817:19:62"
                    },
                    "referencedDeclaration": 37698,
                    "src": "16817:19:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ResultStatus_$37698",
                      "typeString": "enum Witnet.ResultStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16816:35:62"
            },
            "returnParameters": {
              "id": 26441,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 26440,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 26463,
                  "src": "16893:45:62",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                    "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                  },
                  "typeName": {
                    "id": 26439,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 26438,
                      "name": "IWitPriceFeedsLegacySolver.LatestUpdateStatus",
                      "nameLocations": [
                        "16893:26:62",
                        "16920:18:62"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29477,
                      "src": "16893:45:62"
                    },
                    "referencedDeclaration": 29477,
                    "src": "16893:45:62",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_LatestUpdateStatus_$29477",
                      "typeString": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "16892:47:62"
            },
            "scope": 26464,
            "src": "16784:496:62",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "private"
          }
        ],
        "scope": 26465,
        "src": "394:16891:62",
        "usedErrors": [
          40752,
          42702,
          42708
        ],
        "usedEvents": [
          29373,
          29381,
          29389
        ]
      }
    ],
    "src": "35:17252:62"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.30+commit.73712a01.Emscripten.clang"
  },
  "networks": {
    "1": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xdC674D637f5DbF2D043c8BCeb2CbB9B61A1Bba8a",
      "transactionHash": "0x1a9822bee9be0fe224334f6ed9ac3aafffd8c808cbac4dba91e16d6817a45aaf"
    },
    "1285": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xc45c93083F7B97Cdb700D4D2ADE6a727E04793ff",
      "transactionHash": "0x2cabcceb8a63a24dffef1c006f1af59dc6009a84aa37bca12fdceca36848f14e"
    },
    "1287": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {},
      "address": "0x7Bd6FdaEf3e6773d1580590d913cF4dB0CD88829",
      "transactionHash": "0x0069a2fbc5a9e4ab1b673c76d1b8f252c14b44907b83c5f1664822f35d906daf"
    },
    "4801": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xBfFA2ec6225390C517A1bEB83b27a171C6734294",
      "transactionHash": "0xd08effb2c76c5d58df13b6343864bf65d5a48339bf0727cda12b986b63e67ac9"
    },
    "84532": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {},
      "address": "0x9d39313F5D9c7575EeDA9ACdE6a91BBCc4D6D2B2",
      "transactionHash": "0xcef4a3efaee0ed629f30e4016d2deded19f84bb009d48d6349729805fb84b221"
    },
    "11142220": {
      "events": {},
      "links": {},
      "address": "0xa45206cC3Ae76630Cc4D47A730590Ff9B6d8Ee54",
      "transactionHash": "0x64be424bddcc3a9a3af0d62ce91333c8c3cdcead0fc29aa7c66ac36a65c386de"
    },
    "11155111": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {},
      "address": "0x9e1c82ab0809A4996C36ef3dc646B07089F0B903",
      "transactionHash": "0xf9ab0d77d35623adecc3665aebe293cd51ba2f2c0047c8fac75e1c4a03b0f041"
    },
    "11155420": {
      "events": {
        "0x69afe750a424a45bbe19fdde185259ba3a79671c6e4f40a783d355704a022921": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            }
          ],
          "name": "WitFeedDeleted",
          "type": "event"
        },
        "0x56660980158f15674b73c4dcec7f3314e2500517420e16306c40a07dad09f101": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "bytes32",
              "name": "radHash",
              "type": "bytes32"
            }
          ],
          "name": "WitFeedSettled",
          "type": "event"
        },
        "0x286a3bf658fa39c74919afa81990860b8526693c9e7de41f8160a973a5c6d052": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": false,
              "internalType": "string",
              "name": "caption",
              "type": "string"
            },
            {
              "indexed": false,
              "internalType": "bytes4",
              "name": "feedId",
              "type": "bytes4"
            },
            {
              "indexed": false,
              "internalType": "address",
              "name": "solver",
              "type": "address"
            }
          ],
          "name": "WitFeedSolverSettled",
          "type": "event"
        }
      },
      "links": {},
      "address": "0x86CAe8eD8cc27A4069E7FAAEe031b9cA75A8F7d7",
      "transactionHash": "0x132a4a32b896020e8b5df8563e2d681c4890aaf504d38fe42a68de92fdb2dd8c"
    }
  },
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-10-15T14:34:45.882Z",
  "devdoc": {
    "author": "The Witnet Foundation.",
    "kind": "dev",
    "methods": {},
    "title": "WitPriceFeedsLegacy data model.",
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {},
    "version": 1
  }
}