{"abi":[],"bytecode":{"object":"0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"418:8747:230:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;418:8747:230;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"418:8747:230:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"custom:attribution\":\"https://github.com/hamdiallam/Solidity-RLP\",\"kind\":\"dev\",\"methods\":{},\"title\":\"RLPReader\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"RLPReader is a library for parsing RLP-encoded byte arrays into Solidity types. Adapted         from Solidity-RLP (https://github.com/hamdiallam/Solidity-RLP) by Hamdi Allam with         various tweaks to improve readability.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/libraries/rlp/RLPReader.sol\":\"RLPReader\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/libraries/rlp/RLPErrors.sol\":{\"keccak256\":\"0x2b7fa174e6c62962f7c3ce1960298d325ed0e5ff4ee3fd426848e88b4500eb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5528dd355691e6e2dffa3ecf11388f51e3bd29f27693c5dcd11be182559ba47\",\"dweb:/ipfs/QmTqZ5ZzBPwLYg3JNZttHZYaXv5zyzQfakSz4B8sYkAz42\"]},\"src/libraries/rlp/RLPReader.sol\":{\"keccak256\":\"0x27cbbc74d603b301e0e4bc4d33bbbeb88e369f1a91191a33d89ea52360e003db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba58dfd78089a51f06638fa6c0d2287c6254907ad89c4ad58b6fbb331d5d5a96\",\"dweb:/ipfs/QmUjC5Pm2MxPgYm9DfW1MasHj5jz7xXvej88778QuUoNgp\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/libraries/rlp/RLPReader.sol":"RLPReader"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"src/libraries/rlp/RLPErrors.sol":{"keccak256":"0x2b7fa174e6c62962f7c3ce1960298d325ed0e5ff4ee3fd426848e88b4500eb26","urls":["bzz-raw://f5528dd355691e6e2dffa3ecf11388f51e3bd29f27693c5dcd11be182559ba47","dweb:/ipfs/QmTqZ5ZzBPwLYg3JNZttHZYaXv5zyzQfakSz4B8sYkAz42"],"license":"MIT"},"src/libraries/rlp/RLPReader.sol":{"keccak256":"0x27cbbc74d603b301e0e4bc4d33bbbeb88e369f1a91191a33d89ea52360e003db","urls":["bzz-raw://ba58dfd78089a51f06638fa6c0d2287c6254907ad89c4ad58b6fbb331d5d5a96","dweb:/ipfs/QmUjC5Pm2MxPgYm9DfW1MasHj5jz7xXvej88778QuUoNgp"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"RLPReader is a library for parsing RLP-encoded byte arrays into Solidity types. Adapted         from Solidity-RLP (https://github.com/hamdiallam/Solidity-RLP) by Hamdi Allam with         various tweaks to improve readability."},"devdoc":{"version":1,"kind":"dev","title":"RLPReader"},"ast":{"absolutePath":"src/libraries/rlp/RLPReader.sol","id":115563,"exportedSymbols":{"ContentLengthMismatch":[115025],"EmptyItem":[115013],"InvalidDataRemainder":[115019],"InvalidHeader":[115028],"RLPReader":[115562],"UnexpectedList":[115022],"UnexpectedString":[115016]},"nodeType":"SourceUnit","src":"32:9134:230","nodes":[{"id":115030,"nodeType":"PragmaDirective","src":"32:23:230","nodes":[],"literals":["solidity","^","0.8",".8"]},{"id":115031,"nodeType":"ImportDirective","src":"57:25:230","nodes":[],"absolutePath":"src/libraries/rlp/RLPErrors.sol","file":"./RLPErrors.sol","nameLocation":"-1:-1:-1","scope":115563,"sourceUnit":115029,"symbolAliases":[],"unitAlias":""},{"id":115562,"nodeType":"ContractDefinition","src":"418:8747:230","nodes":[{"id":115034,"nodeType":"UserDefinedValueTypeDefinition","src":"528:30:230","nodes":[],"canonicalName":"RLPReader.MemoryPointer","name":"MemoryPointer","nameLocation":"533:13:230","underlyingType":{"id":115033,"name":"uint256","nodeType":"ElementaryTypeName","src":"550:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":115037,"nodeType":"EnumDefinition","src":"731:61:230","nodes":[],"canonicalName":"RLPReader.RLPItemType","members":[{"id":115035,"name":"DATA_ITEM","nameLocation":"758:9:230","nodeType":"EnumValue","src":"758:9:230"},{"id":115036,"name":"LIST_ITEM","nameLocation":"777:9:230","nodeType":"EnumValue","src":"777:9:230"}],"name":"RLPItemType","nameLocation":"736:11:230"},{"id":115043,"nodeType":"StructDefinition","src":"964:73:230","nodes":[],"canonicalName":"RLPReader.RLPItem","members":[{"constant":false,"id":115039,"mutability":"mutable","name":"length","nameLocation":"997:6:230","nodeType":"VariableDeclaration","scope":115043,"src":"989:14:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115038,"name":"uint256","nodeType":"ElementaryTypeName","src":"989:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115042,"mutability":"mutable","name":"ptr","nameLocation":"1027:3:230","nodeType":"VariableDeclaration","scope":115043,"src":"1013:17:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"},"typeName":{"id":115041,"nodeType":"UserDefinedTypeName","pathNode":{"id":115040,"name":"MemoryPointer","nodeType":"IdentifierPath","referencedDeclaration":115034,"src":"1013:13:230"},"referencedDeclaration":115034,"src":"1013:13:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}},"visibility":"internal"}],"name":"RLPItem","nameLocation":"971:7:230","scope":115562,"visibility":"public"},{"id":115047,"nodeType":"VariableDeclaration","src":"1106:46:230","nodes":[],"constant":true,"documentation":{"id":115044,"nodeType":"StructuredDocumentation","src":"1043:58:230","text":"@notice Max list length that this library will accept."},"mutability":"constant","name":"MAX_LIST_LENGTH","nameLocation":"1132:15:230","scope":115562,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115045,"name":"uint256","nodeType":"ElementaryTypeName","src":"1106:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3332","id":115046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1150:2:230","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"id":115078,"nodeType":"FunctionDefinition","src":"1325:328:230","nodes":[],"body":{"id":115077,"nodeType":"Block","src":"1406:247:230","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115056,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115050,"src":"1463:3:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1463:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":115058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1477:1:230","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1463:15:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115063,"nodeType":"IfStatement","src":"1459:39:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115060,"name":"EmptyItem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115013,"src":"1487:9:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1487:11:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115062,"nodeType":"RevertStatement","src":"1480:18:230"}},{"assignments":[115066],"declarations":[{"constant":false,"id":115066,"mutability":"mutable","name":"ptr","nameLocation":"1523:3:230","nodeType":"VariableDeclaration","scope":115077,"src":"1509:17:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"},"typeName":{"id":115065,"nodeType":"UserDefinedTypeName","pathNode":{"id":115064,"name":"MemoryPointer","nodeType":"IdentifierPath","referencedDeclaration":115034,"src":"1509:13:230"},"referencedDeclaration":115034,"src":"1509:13:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}},"visibility":"internal"}],"id":115067,"nodeType":"VariableDeclarationStatement","src":"1509:17:230"},{"AST":{"nodeType":"YulBlock","src":"1545:43:230","statements":[{"nodeType":"YulAssignment","src":"1559:19:230","value":{"arguments":[{"name":"_in","nodeType":"YulIdentifier","src":"1570:3:230"},{"kind":"number","nodeType":"YulLiteral","src":"1575:2:230","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1566:3:230"},"nodeType":"YulFunctionCall","src":"1566:12:230"},"variableNames":[{"name":"ptr","nodeType":"YulIdentifier","src":"1559:3:230"}]}]},"evmVersion":"london","externalReferences":[{"declaration":115050,"isOffset":false,"isSlot":false,"src":"1570:3:230","valueSize":1},{"declaration":115066,"isOffset":false,"isSlot":false,"src":"1559:3:230","valueSize":1}],"id":115068,"nodeType":"InlineAssembly","src":"1536:52:230"},{"expression":{"id":115075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115069,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115054,"src":"1598:4:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":115071,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115050,"src":"1623:3:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1623:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":115073,"name":"ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115066,"src":"1640:3:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}],"id":115070,"name":"RLPItem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115043,"src":"1605:7:230","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RLPItem_$115043_storage_ptr_$","typeString":"type(struct RLPReader.RLPItem storage pointer)"}},"id":115074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["length","ptr"],"nodeType":"FunctionCall","src":"1605:41:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"src":"1598:48:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115076,"nodeType":"ExpressionStatement","src":"1598:48:230"}]},"documentation":{"id":115048,"nodeType":"StructuredDocumentation","src":"1159:161:230","text":"@notice Converts bytes to a reference to memory position and length.\n @param _in Input bytes to convert.\n @return out_ Output memory reference."},"implemented":true,"kind":"function","modifiers":[],"name":"toRLPItem","nameLocation":"1334:9:230","parameters":{"id":115051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115050,"mutability":"mutable","name":"_in","nameLocation":"1357:3:230","nodeType":"VariableDeclaration","scope":115078,"src":"1344:16:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115049,"name":"bytes","nodeType":"ElementaryTypeName","src":"1344:5:230","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1343:18:230"},"returnParameters":{"id":115055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115054,"mutability":"mutable","name":"out_","nameLocation":"1400:4:230","nodeType":"VariableDeclaration","scope":115078,"src":"1385:19:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem"},"typeName":{"id":115053,"nodeType":"UserDefinedTypeName","pathNode":{"id":115052,"name":"RLPItem","nodeType":"IdentifierPath","referencedDeclaration":115043,"src":"1385:7:230"},"referencedDeclaration":115043,"src":"1385:7:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_storage_ptr","typeString":"struct RLPReader.RLPItem"}},"visibility":"internal"}],"src":"1384:21:230"},"scope":115562,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115196,"nodeType":"FunctionDefinition","src":"1805:1674:230","nodes":[],"body":{"id":115195,"nodeType":"Block","src":"1889:1590:230","nodes":[],"statements":[{"assignments":[115090,115092,115095],"declarations":[{"constant":false,"id":115090,"mutability":"mutable","name":"listOffset","nameLocation":"1908:10:230","nodeType":"VariableDeclaration","scope":115195,"src":"1900:18:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115089,"name":"uint256","nodeType":"ElementaryTypeName","src":"1900:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115092,"mutability":"mutable","name":"listLength","nameLocation":"1928:10:230","nodeType":"VariableDeclaration","scope":115195,"src":"1920:18:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115091,"name":"uint256","nodeType":"ElementaryTypeName","src":"1920:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115095,"mutability":"mutable","name":"itemType","nameLocation":"1952:8:230","nodeType":"VariableDeclaration","scope":115195,"src":"1940:20:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"},"typeName":{"id":115094,"nodeType":"UserDefinedTypeName","pathNode":{"id":115093,"name":"RLPItemType","nodeType":"IdentifierPath","referencedDeclaration":115037,"src":"1940:11:230"},"referencedDeclaration":115037,"src":"1940:11:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}},"visibility":"internal"}],"id":115099,"initialValue":{"arguments":[{"id":115097,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115082,"src":"1978:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}],"id":115096,"name":"_decodeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115523,"src":"1964:13:230","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RLPItem_$115043_memory_ptr_$returns$_t_uint256_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"function (struct RLPReader.RLPItem memory) pure returns (uint256,uint256,enum RLPReader.RLPItemType)"}},"id":115098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1964:18:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"tuple(uint256,uint256,enum RLPReader.RLPItemType)"}},"nodeType":"VariableDeclarationStatement","src":"1899:83:230"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"},"id":115103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115100,"name":"itemType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115095,"src":"1997:8:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":115101,"name":"RLPItemType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115037,"src":"2009:11:230","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RLPItemType_$115037_$","typeString":"type(enum RLPReader.RLPItemType)"}},"id":115102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"LIST_ITEM","nodeType":"MemberAccess","referencedDeclaration":115036,"src":"2009:21:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}},"src":"1997:33:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115107,"nodeType":"IfStatement","src":"1993:64:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115104,"name":"UnexpectedString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115016,"src":"2039:16:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2039:18:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115106,"nodeType":"RevertStatement","src":"2032:25:230"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115108,"name":"listOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115090,"src":"2072:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115109,"name":"listLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115092,"src":"2085:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2072:23:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":115111,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115082,"src":"2099:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"2099:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2072:37:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115117,"nodeType":"IfStatement","src":"2068:72:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115114,"name":"InvalidDataRemainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115019,"src":"2118:20:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2118:22:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115116,"nodeType":"RevertStatement","src":"2111:29:230"}},{"expression":{"id":115125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115118,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115087,"src":"2543:4:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":115123,"name":"MAX_LIST_LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115047,"src":"2564:15:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":115122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2550:13:230","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct RLPReader.RLPItem memory[] memory)"},"typeName":{"baseType":{"id":115120,"nodeType":"UserDefinedTypeName","pathNode":{"id":115119,"name":"RLPItem","nodeType":"IdentifierPath","referencedDeclaration":115043,"src":"2554:7:230"},"referencedDeclaration":115043,"src":"2554:7:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_storage_ptr","typeString":"struct RLPReader.RLPItem"}},"id":115121,"nodeType":"ArrayTypeName","src":"2554:9:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_storage_$dyn_storage_ptr","typeString":"struct RLPReader.RLPItem[]"}}},"id":115124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2550:30:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem memory[] memory"}},"src":"2543:37:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem memory[] memory"}},"id":115126,"nodeType":"ExpressionStatement","src":"2543:37:230"},{"assignments":[115128],"declarations":[{"constant":false,"id":115128,"mutability":"mutable","name":"itemCount","nameLocation":"2599:9:230","nodeType":"VariableDeclaration","scope":115195,"src":"2591:17:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115127,"name":"uint256","nodeType":"ElementaryTypeName","src":"2591:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115130,"initialValue":{"hexValue":"30","id":115129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2611:1:230","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2591:21:230"},{"assignments":[115132],"declarations":[{"constant":false,"id":115132,"mutability":"mutable","name":"offset","nameLocation":"2630:6:230","nodeType":"VariableDeclaration","scope":115195,"src":"2622:14:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115131,"name":"uint256","nodeType":"ElementaryTypeName","src":"2622:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115134,"initialValue":{"id":115133,"name":"listOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115090,"src":"2639:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2622:27:230"},{"body":{"id":115192,"nodeType":"Block","src":"2687:653:230","statements":[{"assignments":[115140,115142,null],"declarations":[{"constant":false,"id":115140,"mutability":"mutable","name":"itemOffset","nameLocation":"2710:10:230","nodeType":"VariableDeclaration","scope":115192,"src":"2702:18:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115139,"name":"uint256","nodeType":"ElementaryTypeName","src":"2702:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115142,"mutability":"mutable","name":"itemLength","nameLocation":"2730:10:230","nodeType":"VariableDeclaration","scope":115192,"src":"2722:18:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115141,"name":"uint256","nodeType":"ElementaryTypeName","src":"2722:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},null],"id":115161,"initialValue":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115145,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115082,"src":"2794:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"2794:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":115147,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115132,"src":"2807:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2794:19:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":115153,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115082,"src":"2860:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"ptr","nodeType":"MemberAccess","referencedDeclaration":115042,"src":"2860:7:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}],"expression":{"id":115151,"name":"MemoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115034,"src":"2839:13:230","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"type(RLPReader.MemoryPointer)"}},"id":115152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"unwrap","nodeType":"MemberAccess","src":"2839:20:230","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_MemoryPointer_$115034_$returns$_t_uint256_$","typeString":"function (RLPReader.MemoryPointer) pure returns (uint256)"}},"id":115155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2839:29:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115156,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115132,"src":"2871:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2839:38:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":115149,"name":"MemoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115034,"src":"2820:13:230","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"type(RLPReader.MemoryPointer)"}},"id":115150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"2820:18:230","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"function (uint256) pure returns (RLPReader.MemoryPointer)"}},"id":115158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2820:58:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}],"id":115144,"name":"RLPItem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115043,"src":"2776:7:230","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RLPItem_$115043_storage_ptr_$","typeString":"type(struct RLPReader.RLPItem storage pointer)"}},"id":115159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["length","ptr"],"nodeType":"FunctionCall","src":"2776:105:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}],"id":115143,"name":"_decodeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115523,"src":"2745:13:230","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RLPItem_$115043_memory_ptr_$returns$_t_uint256_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"function (struct RLPReader.RLPItem memory) pure returns (uint256,uint256,enum RLPReader.RLPItemType)"}},"id":115160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2745:150:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"tuple(uint256,uint256,enum RLPReader.RLPItemType)"}},"nodeType":"VariableDeclarationStatement","src":"2701:194:230"},{"expression":{"id":115180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":115162,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115087,"src":"3082:4:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem memory[] memory"}},"id":115164,"indexExpression":{"id":115163,"name":"itemCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115128,"src":"3087:9:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3082:15:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115166,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115142,"src":"3134:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115167,"name":"itemOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115140,"src":"3147:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3134:23:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":115173,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115082,"src":"3220:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"ptr","nodeType":"MemberAccess","referencedDeclaration":115042,"src":"3220:7:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}],"expression":{"id":115171,"name":"MemoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115034,"src":"3199:13:230","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"type(RLPReader.MemoryPointer)"}},"id":115172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"unwrap","nodeType":"MemberAccess","src":"3199:20:230","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_MemoryPointer_$115034_$returns$_t_uint256_$","typeString":"function (RLPReader.MemoryPointer) pure returns (uint256)"}},"id":115175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3199:29:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115176,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115132,"src":"3231:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3199:38:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":115169,"name":"MemoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115034,"src":"3180:13:230","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"type(RLPReader.MemoryPointer)"}},"id":115170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"3180:18:230","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint256_$returns$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"function (uint256) pure returns (RLPReader.MemoryPointer)"}},"id":115178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3180:58:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}],"id":115165,"name":"RLPItem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115043,"src":"3100:7:230","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RLPItem_$115043_storage_ptr_$","typeString":"type(struct RLPReader.RLPItem storage pointer)"}},"id":115179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["length","ptr"],"nodeType":"FunctionCall","src":"3100:153:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"src":"3082:171:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115181,"nodeType":"ExpressionStatement","src":"3082:171:230"},{"expression":{"id":115184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115182,"name":"itemCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115128,"src":"3268:9:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":115183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3281:1:230","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3268:14:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":115185,"nodeType":"ExpressionStatement","src":"3268:14:230"},{"expression":{"id":115190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115186,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115132,"src":"3296:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115187,"name":"itemOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115140,"src":"3306:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115188,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115142,"src":"3319:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3306:23:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3296:33:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":115191,"nodeType":"ExpressionStatement","src":"3296:33:230"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115135,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115132,"src":"2666:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":115136,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115082,"src":"2675:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"2675:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2666:19:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115193,"nodeType":"WhileStatement","src":"2659:681:230"},{"AST":{"nodeType":"YulBlock","src":"3426:47:230","statements":[{"expression":{"arguments":[{"name":"out_","nodeType":"YulIdentifier","src":"3447:4:230"},{"name":"itemCount","nodeType":"YulIdentifier","src":"3453:9:230"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3440:6:230"},"nodeType":"YulFunctionCall","src":"3440:23:230"},"nodeType":"YulExpressionStatement","src":"3440:23:230"}]},"evmVersion":"london","externalReferences":[{"declaration":115128,"isOffset":false,"isSlot":false,"src":"3453:9:230","valueSize":1},{"declaration":115087,"isOffset":false,"isSlot":false,"src":"3447:4:230","valueSize":1}],"id":115194,"nodeType":"InlineAssembly","src":"3417:56:230"}]},"documentation":{"id":115079,"nodeType":"StructuredDocumentation","src":"1659:141:230","text":"@notice Reads an RLP list value into a list of RLP items.\n @param _in RLP list value.\n @return out_ Decoded RLP list items."},"implemented":true,"kind":"function","modifiers":[],"name":"readList","nameLocation":"1814:8:230","parameters":{"id":115083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115082,"mutability":"mutable","name":"_in","nameLocation":"1838:3:230","nodeType":"VariableDeclaration","scope":115196,"src":"1823:18:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem"},"typeName":{"id":115081,"nodeType":"UserDefinedTypeName","pathNode":{"id":115080,"name":"RLPItem","nodeType":"IdentifierPath","referencedDeclaration":115043,"src":"1823:7:230"},"referencedDeclaration":115043,"src":"1823:7:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_storage_ptr","typeString":"struct RLPReader.RLPItem"}},"visibility":"internal"}],"src":"1822:20:230"},"returnParameters":{"id":115088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115087,"mutability":"mutable","name":"out_","nameLocation":"1883:4:230","nodeType":"VariableDeclaration","scope":115196,"src":"1866:21:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem[]"},"typeName":{"baseType":{"id":115085,"nodeType":"UserDefinedTypeName","pathNode":{"id":115084,"name":"RLPItem","nodeType":"IdentifierPath","referencedDeclaration":115043,"src":"1866:7:230"},"referencedDeclaration":115043,"src":"1866:7:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_storage_ptr","typeString":"struct RLPReader.RLPItem"}},"id":115086,"nodeType":"ArrayTypeName","src":"1866:9:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_storage_$dyn_storage_ptr","typeString":"struct RLPReader.RLPItem[]"}},"visibility":"internal"}],"src":"1865:23:230"},"scope":115562,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115215,"nodeType":"FunctionDefinition","src":"3631:130:230","nodes":[],"body":{"id":115214,"nodeType":"Block","src":"3713:48:230","nodes":[],"statements":[{"expression":{"id":115212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115206,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115204,"src":"3723:4:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":115209,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115199,"src":"3749:3:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":115208,"name":"toRLPItem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115078,"src":"3739:9:230","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_RLPItem_$115043_memory_ptr_$","typeString":"function (bytes memory) pure returns (struct RLPReader.RLPItem memory)"}},"id":115210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3739:14:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}],"id":115207,"name":"readList","nodeType":"Identifier","overloadedDeclarations":[115196,115215],"referencedDeclaration":115196,"src":"3730:8:230","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RLPItem_$115043_memory_ptr_$returns$_t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct RLPReader.RLPItem memory) pure returns (struct RLPReader.RLPItem memory[] memory)"}},"id":115211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3730:24:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem memory[] memory"}},"src":"3723:31:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem memory[] memory"}},"id":115213,"nodeType":"ExpressionStatement","src":"3723:31:230"}]},"documentation":{"id":115197,"nodeType":"StructuredDocumentation","src":"3485:141:230","text":"@notice Reads an RLP list value into a list of RLP items.\n @param _in RLP list value.\n @return out_ Decoded RLP list items."},"implemented":true,"kind":"function","modifiers":[],"name":"readList","nameLocation":"3640:8:230","parameters":{"id":115200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115199,"mutability":"mutable","name":"_in","nameLocation":"3662:3:230","nodeType":"VariableDeclaration","scope":115215,"src":"3649:16:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115198,"name":"bytes","nodeType":"ElementaryTypeName","src":"3649:5:230","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3648:18:230"},"returnParameters":{"id":115205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115204,"mutability":"mutable","name":"out_","nameLocation":"3707:4:230","nodeType":"VariableDeclaration","scope":115215,"src":"3690:21:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_memory_ptr_$dyn_memory_ptr","typeString":"struct RLPReader.RLPItem[]"},"typeName":{"baseType":{"id":115202,"nodeType":"UserDefinedTypeName","pathNode":{"id":115201,"name":"RLPItem","nodeType":"IdentifierPath","referencedDeclaration":115043,"src":"3690:7:230"},"referencedDeclaration":115043,"src":"3690:7:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_storage_ptr","typeString":"struct RLPReader.RLPItem"}},"id":115203,"nodeType":"ArrayTypeName","src":"3690:9:230","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RLPItem_$115043_storage_$dyn_storage_ptr","typeString":"struct RLPReader.RLPItem[]"}},"visibility":"internal"}],"src":"3689:23:230"},"scope":115562,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115263,"nodeType":"FunctionDefinition","src":"3892:393:230","nodes":[],"body":{"id":115262,"nodeType":"Block","src":"3973:312:230","nodes":[],"statements":[{"assignments":[115225,115227,115230],"declarations":[{"constant":false,"id":115225,"mutability":"mutable","name":"itemOffset","nameLocation":"3992:10:230","nodeType":"VariableDeclaration","scope":115262,"src":"3984:18:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115224,"name":"uint256","nodeType":"ElementaryTypeName","src":"3984:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115227,"mutability":"mutable","name":"itemLength","nameLocation":"4012:10:230","nodeType":"VariableDeclaration","scope":115262,"src":"4004:18:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115226,"name":"uint256","nodeType":"ElementaryTypeName","src":"4004:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115230,"mutability":"mutable","name":"itemType","nameLocation":"4036:8:230","nodeType":"VariableDeclaration","scope":115262,"src":"4024:20:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"},"typeName":{"id":115229,"nodeType":"UserDefinedTypeName","pathNode":{"id":115228,"name":"RLPItemType","nodeType":"IdentifierPath","referencedDeclaration":115037,"src":"4024:11:230"},"referencedDeclaration":115037,"src":"4024:11:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}},"visibility":"internal"}],"id":115234,"initialValue":{"arguments":[{"id":115232,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115219,"src":"4062:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}],"id":115231,"name":"_decodeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115523,"src":"4048:13:230","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RLPItem_$115043_memory_ptr_$returns$_t_uint256_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"function (struct RLPReader.RLPItem memory) pure returns (uint256,uint256,enum RLPReader.RLPItemType)"}},"id":115233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4048:18:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"tuple(uint256,uint256,enum RLPReader.RLPItemType)"}},"nodeType":"VariableDeclarationStatement","src":"3983:83:230"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"},"id":115238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115235,"name":"itemType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115230,"src":"4081:8:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":115236,"name":"RLPItemType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115037,"src":"4093:11:230","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RLPItemType_$115037_$","typeString":"type(enum RLPReader.RLPItemType)"}},"id":115237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"DATA_ITEM","nodeType":"MemberAccess","referencedDeclaration":115035,"src":"4093:21:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}},"src":"4081:33:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115242,"nodeType":"IfStatement","src":"4077:62:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115239,"name":"UnexpectedList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115022,"src":"4123:14:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4123:16:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115241,"nodeType":"RevertStatement","src":"4116:23:230"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115243,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115219,"src":"4154:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115244,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"4154:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115245,"name":"itemOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115225,"src":"4168:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115246,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115227,"src":"4181:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4168:23:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4154:37:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115252,"nodeType":"IfStatement","src":"4150:72:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115249,"name":"InvalidDataRemainder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115019,"src":"4200:20:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4200:22:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115251,"nodeType":"RevertStatement","src":"4193:29:230"}},{"expression":{"id":115260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115253,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115222,"src":"4233:4:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":115255,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115219,"src":"4246:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115256,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"ptr","nodeType":"MemberAccess","referencedDeclaration":115042,"src":"4246:7:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}},{"id":115257,"name":"itemOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115225,"src":"4255:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":115258,"name":"itemLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115227,"src":"4267:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":115254,"name":"_copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115561,"src":"4240:5:230","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_MemoryPointer_$115034_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (RLPReader.MemoryPointer,uint256,uint256) pure returns (bytes memory)"}},"id":115259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4240:38:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4233:45:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115261,"nodeType":"ExpressionStatement","src":"4233:45:230"}]},"documentation":{"id":115216,"nodeType":"StructuredDocumentation","src":"3767:120:230","text":"@notice Reads an RLP bytes value into bytes.\n @param _in RLP bytes value.\n @return out_ Decoded bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes","nameLocation":"3901:9:230","parameters":{"id":115220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115219,"mutability":"mutable","name":"_in","nameLocation":"3926:3:230","nodeType":"VariableDeclaration","scope":115263,"src":"3911:18:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem"},"typeName":{"id":115218,"nodeType":"UserDefinedTypeName","pathNode":{"id":115217,"name":"RLPItem","nodeType":"IdentifierPath","referencedDeclaration":115043,"src":"3911:7:230"},"referencedDeclaration":115043,"src":"3911:7:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_storage_ptr","typeString":"struct RLPReader.RLPItem"}},"visibility":"internal"}],"src":"3910:20:230"},"returnParameters":{"id":115223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115222,"mutability":"mutable","name":"out_","nameLocation":"3967:4:230","nodeType":"VariableDeclaration","scope":115263,"src":"3954:17:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115221,"name":"bytes","nodeType":"ElementaryTypeName","src":"3954:5:230","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3953:19:230"},"scope":115562,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115280,"nodeType":"FunctionDefinition","src":"4416:128:230","nodes":[],"body":{"id":115279,"nodeType":"Block","src":"4495:49:230","nodes":[],"statements":[{"expression":{"id":115277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115271,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115269,"src":"4505:4:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":115274,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115266,"src":"4532:3:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":115273,"name":"toRLPItem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115078,"src":"4522:9:230","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_struct$_RLPItem_$115043_memory_ptr_$","typeString":"function (bytes memory) pure returns (struct RLPReader.RLPItem memory)"}},"id":115275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4522:14:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}],"id":115272,"name":"readBytes","nodeType":"Identifier","overloadedDeclarations":[115263,115280],"referencedDeclaration":115263,"src":"4512:9:230","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RLPItem_$115043_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct RLPReader.RLPItem memory) pure returns (bytes memory)"}},"id":115276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4512:25:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4505:32:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115278,"nodeType":"ExpressionStatement","src":"4505:32:230"}]},"documentation":{"id":115264,"nodeType":"StructuredDocumentation","src":"4291:120:230","text":"@notice Reads an RLP bytes value into bytes.\n @param _in RLP bytes value.\n @return out_ Decoded bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes","nameLocation":"4425:9:230","parameters":{"id":115267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115266,"mutability":"mutable","name":"_in","nameLocation":"4448:3:230","nodeType":"VariableDeclaration","scope":115280,"src":"4435:16:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115265,"name":"bytes","nodeType":"ElementaryTypeName","src":"4435:5:230","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4434:18:230"},"returnParameters":{"id":115270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115269,"mutability":"mutable","name":"out_","nameLocation":"4489:4:230","nodeType":"VariableDeclaration","scope":115280,"src":"4476:17:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115268,"name":"bytes","nodeType":"ElementaryTypeName","src":"4476:5:230","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4475:19:230"},"scope":115562,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115300,"nodeType":"FunctionDefinition","src":"4675:137:230","nodes":[],"body":{"id":115299,"nodeType":"Block","src":"4759:53:230","nodes":[],"statements":[{"expression":{"id":115297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115289,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115287,"src":"4769:4:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":115291,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115284,"src":"4782:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115292,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"ptr","nodeType":"MemberAccess","referencedDeclaration":115042,"src":"4782:7:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}},{"hexValue":"30","id":115293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4791:1:230","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":115294,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115284,"src":"4794:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"4794:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":115290,"name":"_copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115561,"src":"4776:5:230","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_MemoryPointer_$115034_$_t_uint256_$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (RLPReader.MemoryPointer,uint256,uint256) pure returns (bytes memory)"}},"id":115296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4776:29:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4769:36:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115298,"nodeType":"ExpressionStatement","src":"4769:36:230"}]},"documentation":{"id":115281,"nodeType":"StructuredDocumentation","src":"4550:120:230","text":"@notice Reads the raw bytes of an RLP item.\n @param _in RLP item to read.\n @return out_ Raw RLP bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"readRawBytes","nameLocation":"4684:12:230","parameters":{"id":115285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115284,"mutability":"mutable","name":"_in","nameLocation":"4712:3:230","nodeType":"VariableDeclaration","scope":115300,"src":"4697:18:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem"},"typeName":{"id":115283,"nodeType":"UserDefinedTypeName","pathNode":{"id":115282,"name":"RLPItem","nodeType":"IdentifierPath","referencedDeclaration":115043,"src":"4697:7:230"},"referencedDeclaration":115043,"src":"4697:7:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_storage_ptr","typeString":"struct RLPReader.RLPItem"}},"visibility":"internal"}],"src":"4696:20:230"},"returnParameters":{"id":115288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115287,"mutability":"mutable","name":"out_","nameLocation":"4753:4:230","nodeType":"VariableDeclaration","scope":115300,"src":"4740:17:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115286,"name":"bytes","nodeType":"ElementaryTypeName","src":"4740:5:230","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4739:19:230"},"scope":115562,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":115523,"nodeType":"FunctionDefinition","src":"5074:3092:230","nodes":[],"body":{"id":115522,"nodeType":"Block","src":"5220:2946:230","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115314,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115304,"src":"5516:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"5516:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":115316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5530:1:230","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5516:15:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115321,"nodeType":"IfStatement","src":"5512:39:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115318,"name":"EmptyItem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115013,"src":"5540:9:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5540:11:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115320,"nodeType":"RevertStatement","src":"5533:18:230"}},{"assignments":[115324],"declarations":[{"constant":false,"id":115324,"mutability":"mutable","name":"ptr","nameLocation":"5576:3:230","nodeType":"VariableDeclaration","scope":115522,"src":"5562:17:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"},"typeName":{"id":115323,"nodeType":"UserDefinedTypeName","pathNode":{"id":115322,"name":"MemoryPointer","nodeType":"IdentifierPath","referencedDeclaration":115034,"src":"5562:13:230"},"referencedDeclaration":115034,"src":"5562:13:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}},"visibility":"internal"}],"id":115327,"initialValue":{"expression":{"id":115325,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115304,"src":"5582:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"ptr","nodeType":"MemberAccess","referencedDeclaration":115042,"src":"5582:7:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}},"nodeType":"VariableDeclarationStatement","src":"5562:27:230"},{"assignments":[115329],"declarations":[{"constant":false,"id":115329,"mutability":"mutable","name":"prefix","nameLocation":"5607:6:230","nodeType":"VariableDeclaration","scope":115522,"src":"5599:14:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115328,"name":"uint256","nodeType":"ElementaryTypeName","src":"5599:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115330,"nodeType":"VariableDeclarationStatement","src":"5599:14:230"},{"AST":{"nodeType":"YulBlock","src":"5632:53:230","statements":[{"nodeType":"YulAssignment","src":"5646:29:230","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5661:1:230","type":"","value":"0"},{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"5670:3:230"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5664:5:230"},"nodeType":"YulFunctionCall","src":"5664:10:230"}],"functionName":{"name":"byte","nodeType":"YulIdentifier","src":"5656:4:230"},"nodeType":"YulFunctionCall","src":"5656:19:230"},"variableNames":[{"name":"prefix","nodeType":"YulIdentifier","src":"5646:6:230"}]}]},"evmVersion":"london","externalReferences":[{"declaration":115329,"isOffset":false,"isSlot":false,"src":"5646:6:230","valueSize":1},{"declaration":115324,"isOffset":false,"isSlot":false,"src":"5670:3:230","valueSize":1}],"id":115331,"nodeType":"InlineAssembly","src":"5623:62:230"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115332,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115329,"src":"5699:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30783766","id":115333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5709:4:230","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"0x7f"},"src":"5699:14:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115342,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115329,"src":"5814:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30786237","id":115343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5824:4:230","typeDescriptions":{"typeIdentifier":"t_rational_183_by_1","typeString":"int_const 183"},"value":"0xb7"},"src":"5814:14:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115381,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115329,"src":"6346:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30786266","id":115382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6356:4:230","typeDescriptions":{"typeIdentifier":"t_rational_191_by_1","typeString":"int_const 191"},"value":"0xbf"},"src":"6346:14:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115439,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115329,"src":"7117:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30786637","id":115440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7127:4:230","typeDescriptions":{"typeIdentifier":"t_rational_247_by_1","typeString":"int_const 247"},"value":"0xf7"},"src":"7117:14:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":115517,"nodeType":"Block","src":"7407:753:230","statements":[{"assignments":[115464],"declarations":[{"constant":false,"id":115464,"mutability":"mutable","name":"lenOfListLen","nameLocation":"7455:12:230","nodeType":"VariableDeclaration","scope":115517,"src":"7447:20:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115463,"name":"uint256","nodeType":"ElementaryTypeName","src":"7447:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115468,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115465,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115329,"src":"7470:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"30786637","id":115466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7479:4:230","typeDescriptions":{"typeIdentifier":"t_rational_247_by_1","typeString":"int_const 247"},"value":"0xf7"},"src":"7470:13:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7447:36:230"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115469,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115304,"src":"7502:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115470,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"7502:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":115471,"name":"lenOfListLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115464,"src":"7516:12:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7502:26:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115476,"nodeType":"IfStatement","src":"7498:62:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115473,"name":"ContentLengthMismatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115025,"src":"7537:21:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7537:23:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115475,"nodeType":"RevertStatement","src":"7530:30:230"}},{"assignments":[115478],"declarations":[{"constant":false,"id":115478,"mutability":"mutable","name":"firstByteOfContent","nameLocation":"7582:18:230","nodeType":"VariableDeclaration","scope":115517,"src":"7575:25:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":115477,"name":"bytes1","nodeType":"ElementaryTypeName","src":"7575:6:230","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":115479,"nodeType":"VariableDeclarationStatement","src":"7575:25:230"},{"AST":{"nodeType":"YulBlock","src":"7623:93:230","statements":[{"nodeType":"YulAssignment","src":"7641:61:230","value":{"arguments":[{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"7677:3:230"},{"kind":"number","nodeType":"YulLiteral","src":"7682:1:230","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7673:3:230"},"nodeType":"YulFunctionCall","src":"7673:11:230"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7667:5:230"},"nodeType":"YulFunctionCall","src":"7667:18:230"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7691:3:230","type":"","value":"248"},{"kind":"number","nodeType":"YulLiteral","src":"7696:4:230","type":"","value":"0xff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7687:3:230"},"nodeType":"YulFunctionCall","src":"7687:14:230"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7663:3:230"},"nodeType":"YulFunctionCall","src":"7663:39:230"},"variableNames":[{"name":"firstByteOfContent","nodeType":"YulIdentifier","src":"7641:18:230"}]}]},"evmVersion":"london","externalReferences":[{"declaration":115478,"isOffset":false,"isSlot":false,"src":"7641:18:230","valueSize":1},{"declaration":115324,"isOffset":false,"isSlot":false,"src":"7677:3:230","valueSize":1}],"id":115480,"nodeType":"InlineAssembly","src":"7614:102:230"},{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":115483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115481,"name":"firstByteOfContent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115478,"src":"7734:18:230","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783030","id":115482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7756:4:230","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"src":"7734:26:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115487,"nodeType":"IfStatement","src":"7730:54:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115484,"name":"InvalidHeader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115028,"src":"7769:13:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7769:15:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115486,"nodeType":"RevertStatement","src":"7762:22:230"}},{"assignments":[115489],"declarations":[{"constant":false,"id":115489,"mutability":"mutable","name":"listLen","nameLocation":"7807:7:230","nodeType":"VariableDeclaration","scope":115517,"src":"7799:15:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115488,"name":"uint256","nodeType":"ElementaryTypeName","src":"7799:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115490,"nodeType":"VariableDeclarationStatement","src":"7799:15:230"},{"AST":{"nodeType":"YulBlock","src":"7837:98:230","statements":[{"nodeType":"YulAssignment","src":"7855:66:230","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7874:3:230","type":"","value":"256"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7883:1:230","type":"","value":"8"},{"name":"lenOfListLen","nodeType":"YulIdentifier","src":"7886:12:230"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"7879:3:230"},"nodeType":"YulFunctionCall","src":"7879:20:230"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7870:3:230"},"nodeType":"YulFunctionCall","src":"7870:30:230"},{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"7912:3:230"},{"kind":"number","nodeType":"YulLiteral","src":"7917:1:230","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7908:3:230"},"nodeType":"YulFunctionCall","src":"7908:11:230"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7902:5:230"},"nodeType":"YulFunctionCall","src":"7902:18:230"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"7866:3:230"},"nodeType":"YulFunctionCall","src":"7866:55:230"},"variableNames":[{"name":"listLen","nodeType":"YulIdentifier","src":"7855:7:230"}]}]},"evmVersion":"london","externalReferences":[{"declaration":115464,"isOffset":false,"isSlot":false,"src":"7886:12:230","valueSize":1},{"declaration":115489,"isOffset":false,"isSlot":false,"src":"7855:7:230","valueSize":1},{"declaration":115324,"isOffset":false,"isSlot":false,"src":"7912:3:230","valueSize":1}],"id":115491,"nodeType":"InlineAssembly","src":"7828:107:230"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115492,"name":"listLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115489,"src":"7953:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3535","id":115493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7964:2:230","typeDescriptions":{"typeIdentifier":"t_rational_55_by_1","typeString":"int_const 55"},"value":"55"},"src":"7953:13:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115498,"nodeType":"IfStatement","src":"7949:41:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115495,"name":"InvalidHeader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115028,"src":"7975:13:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7975:15:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115497,"nodeType":"RevertStatement","src":"7968:22:230"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115499,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115304,"src":"8009:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"8009:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115501,"name":"lenOfListLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115464,"src":"8023:12:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115502,"name":"listLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115489,"src":"8038:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8023:22:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8009:36:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115508,"nodeType":"IfStatement","src":"8005:72:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115505,"name":"ContentLengthMismatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115025,"src":"8054:21:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8054:23:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115507,"nodeType":"RevertStatement","src":"8047:30:230"}},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":115509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8100:1:230","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115510,"name":"lenOfListLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115464,"src":"8104:12:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8100:16:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":115512,"name":"listLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115489,"src":"8118:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":115513,"name":"RLPItemType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115037,"src":"8127:11:230","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RLPItemType_$115037_$","typeString":"type(enum RLPReader.RLPItemType)"}},"id":115514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"LIST_ITEM","nodeType":"MemberAccess","referencedDeclaration":115036,"src":"8127:21:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}}],"id":115515,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8099:50:230","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"tuple(uint256,uint256,enum RLPReader.RLPItemType)"}},"functionReturnParameters":115313,"id":115516,"nodeType":"Return","src":"8092:57:230"}]},"id":115518,"nodeType":"IfStatement","src":"7113:1047:230","trueBody":{"id":115462,"nodeType":"Block","src":"7133:268:230","statements":[{"assignments":[115443],"declarations":[{"constant":false,"id":115443,"mutability":"mutable","name":"listLen","nameLocation":"7238:7:230","nodeType":"VariableDeclaration","scope":115462,"src":"7230:15:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115442,"name":"uint256","nodeType":"ElementaryTypeName","src":"7230:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115447,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115444,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115329,"src":"7248:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"30786330","id":115445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7257:4:230","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"0xc0"},"src":"7248:13:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7230:31:230"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115448,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115304,"src":"7280:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115449,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"7280:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":115450,"name":"listLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115443,"src":"7294:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7280:21:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115455,"nodeType":"IfStatement","src":"7276:57:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115452,"name":"ContentLengthMismatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115025,"src":"7310:21:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7310:23:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115454,"nodeType":"RevertStatement","src":"7303:30:230"}},{"expression":{"components":[{"hexValue":"31","id":115456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7356:1:230","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":115457,"name":"listLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115443,"src":"7359:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":115458,"name":"RLPItemType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115037,"src":"7368:11:230","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RLPItemType_$115037_$","typeString":"type(enum RLPReader.RLPItemType)"}},"id":115459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"LIST_ITEM","nodeType":"MemberAccess","referencedDeclaration":115036,"src":"7368:21:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}}],"id":115460,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7355:35:230","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_1_by_1_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"tuple(int_const 1,uint256,enum RLPReader.RLPItemType)"}},"functionReturnParameters":115313,"id":115461,"nodeType":"Return","src":"7348:42:230"}]}},"id":115519,"nodeType":"IfStatement","src":"6342:1818:230","trueBody":{"id":115438,"nodeType":"Block","src":"6362:745:230","statements":[{"assignments":[115385],"declarations":[{"constant":false,"id":115385,"mutability":"mutable","name":"lenOfStrLen","nameLocation":"6412:11:230","nodeType":"VariableDeclaration","scope":115438,"src":"6404:19:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115384,"name":"uint256","nodeType":"ElementaryTypeName","src":"6404:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115389,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115386,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115329,"src":"6426:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"30786237","id":115387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6435:4:230","typeDescriptions":{"typeIdentifier":"t_rational_183_by_1","typeString":"int_const 183"},"value":"0xb7"},"src":"6426:13:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6404:35:230"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115390,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115304,"src":"6458:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115391,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"6458:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":115392,"name":"lenOfStrLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115385,"src":"6472:11:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6458:25:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115397,"nodeType":"IfStatement","src":"6454:61:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115394,"name":"ContentLengthMismatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115025,"src":"6492:21:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6492:23:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115396,"nodeType":"RevertStatement","src":"6485:30:230"}},{"assignments":[115399],"declarations":[{"constant":false,"id":115399,"mutability":"mutable","name":"firstByteOfContent","nameLocation":"6537:18:230","nodeType":"VariableDeclaration","scope":115438,"src":"6530:25:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":115398,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6530:6:230","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":115400,"nodeType":"VariableDeclarationStatement","src":"6530:25:230"},{"AST":{"nodeType":"YulBlock","src":"6578:93:230","statements":[{"nodeType":"YulAssignment","src":"6596:61:230","value":{"arguments":[{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"6632:3:230"},{"kind":"number","nodeType":"YulLiteral","src":"6637:1:230","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6628:3:230"},"nodeType":"YulFunctionCall","src":"6628:11:230"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6622:5:230"},"nodeType":"YulFunctionCall","src":"6622:18:230"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6646:3:230","type":"","value":"248"},{"kind":"number","nodeType":"YulLiteral","src":"6651:4:230","type":"","value":"0xff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6642:3:230"},"nodeType":"YulFunctionCall","src":"6642:14:230"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6618:3:230"},"nodeType":"YulFunctionCall","src":"6618:39:230"},"variableNames":[{"name":"firstByteOfContent","nodeType":"YulIdentifier","src":"6596:18:230"}]}]},"evmVersion":"london","externalReferences":[{"declaration":115399,"isOffset":false,"isSlot":false,"src":"6596:18:230","valueSize":1},{"declaration":115324,"isOffset":false,"isSlot":false,"src":"6632:3:230","valueSize":1}],"id":115401,"nodeType":"InlineAssembly","src":"6569:102:230"},{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":115404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115402,"name":"firstByteOfContent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115399,"src":"6689:18:230","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783030","id":115403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6711:4:230","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"src":"6689:26:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115408,"nodeType":"IfStatement","src":"6685:54:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115405,"name":"InvalidHeader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115028,"src":"6724:13:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6724:15:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115407,"nodeType":"RevertStatement","src":"6717:22:230"}},{"assignments":[115410],"declarations":[{"constant":false,"id":115410,"mutability":"mutable","name":"strLen","nameLocation":"6762:6:230","nodeType":"VariableDeclaration","scope":115438,"src":"6754:14:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115409,"name":"uint256","nodeType":"ElementaryTypeName","src":"6754:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115411,"nodeType":"VariableDeclarationStatement","src":"6754:14:230"},{"AST":{"nodeType":"YulBlock","src":"6791:96:230","statements":[{"nodeType":"YulAssignment","src":"6809:64:230","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6827:3:230","type":"","value":"256"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6836:1:230","type":"","value":"8"},{"name":"lenOfStrLen","nodeType":"YulIdentifier","src":"6839:11:230"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"6832:3:230"},"nodeType":"YulFunctionCall","src":"6832:19:230"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6823:3:230"},"nodeType":"YulFunctionCall","src":"6823:29:230"},{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"6864:3:230"},{"kind":"number","nodeType":"YulLiteral","src":"6869:1:230","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6860:3:230"},"nodeType":"YulFunctionCall","src":"6860:11:230"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6854:5:230"},"nodeType":"YulFunctionCall","src":"6854:18:230"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"6819:3:230"},"nodeType":"YulFunctionCall","src":"6819:54:230"},"variableNames":[{"name":"strLen","nodeType":"YulIdentifier","src":"6809:6:230"}]}]},"evmVersion":"london","externalReferences":[{"declaration":115385,"isOffset":false,"isSlot":false,"src":"6839:11:230","valueSize":1},{"declaration":115324,"isOffset":false,"isSlot":false,"src":"6864:3:230","valueSize":1},{"declaration":115410,"isOffset":false,"isSlot":false,"src":"6809:6:230","valueSize":1}],"id":115412,"nodeType":"InlineAssembly","src":"6782:105:230"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115413,"name":"strLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115410,"src":"6905:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3535","id":115414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6915:2:230","typeDescriptions":{"typeIdentifier":"t_rational_55_by_1","typeString":"int_const 55"},"value":"55"},"src":"6905:12:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115419,"nodeType":"IfStatement","src":"6901:40:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115416,"name":"InvalidHeader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115028,"src":"6926:13:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6926:15:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115418,"nodeType":"RevertStatement","src":"6919:22:230"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115420,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115304,"src":"6960:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"6960:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115422,"name":"lenOfStrLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115385,"src":"6974:11:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115423,"name":"strLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115410,"src":"6988:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6974:20:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6960:34:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115429,"nodeType":"IfStatement","src":"6956:70:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115426,"name":"ContentLengthMismatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115025,"src":"7003:21:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7003:23:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115428,"nodeType":"RevertStatement","src":"6996:30:230"}},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":115430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7049:1:230","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115431,"name":"lenOfStrLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115385,"src":"7053:11:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7049:15:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":115433,"name":"strLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115410,"src":"7066:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":115434,"name":"RLPItemType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115037,"src":"7074:11:230","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RLPItemType_$115037_$","typeString":"type(enum RLPReader.RLPItemType)"}},"id":115435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"DATA_ITEM","nodeType":"MemberAccess","referencedDeclaration":115035,"src":"7074:21:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}}],"id":115436,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7048:48:230","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"tuple(uint256,uint256,enum RLPReader.RLPItemType)"}},"functionReturnParameters":115313,"id":115437,"nodeType":"Return","src":"7041:55:230"}]}},"id":115520,"nodeType":"IfStatement","src":"5810:2350:230","trueBody":{"id":115380,"nodeType":"Block","src":"5830:506:230","statements":[{"assignments":[115346],"declarations":[{"constant":false,"id":115346,"mutability":"mutable","name":"strLen","nameLocation":"5938:6:230","nodeType":"VariableDeclaration","scope":115380,"src":"5930:14:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115345,"name":"uint256","nodeType":"ElementaryTypeName","src":"5930:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115350,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115347,"name":"prefix","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115329,"src":"5947:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"30783830","id":115348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5956:4:230","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"0x80"},"src":"5947:13:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5930:30:230"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":115351,"name":"_in","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115304,"src":"5979:3:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem memory"}},"id":115352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":115039,"src":"5979:10:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":115353,"name":"strLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115346,"src":"5993:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5979:20:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115358,"nodeType":"IfStatement","src":"5975:56:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115355,"name":"ContentLengthMismatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115025,"src":"6008:21:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6008:23:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115357,"nodeType":"RevertStatement","src":"6001:30:230"}},{"assignments":[115360],"declarations":[{"constant":false,"id":115360,"mutability":"mutable","name":"firstByteOfContent","nameLocation":"6053:18:230","nodeType":"VariableDeclaration","scope":115380,"src":"6046:25:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":115359,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6046:6:230","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":115361,"nodeType":"VariableDeclarationStatement","src":"6046:25:230"},{"AST":{"nodeType":"YulBlock","src":"6094:93:230","statements":[{"nodeType":"YulAssignment","src":"6112:61:230","value":{"arguments":[{"arguments":[{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"6148:3:230"},{"kind":"number","nodeType":"YulLiteral","src":"6153:1:230","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6144:3:230"},"nodeType":"YulFunctionCall","src":"6144:11:230"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6138:5:230"},"nodeType":"YulFunctionCall","src":"6138:18:230"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6162:3:230","type":"","value":"248"},{"kind":"number","nodeType":"YulLiteral","src":"6167:4:230","type":"","value":"0xff"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"6158:3:230"},"nodeType":"YulFunctionCall","src":"6158:14:230"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6134:3:230"},"nodeType":"YulFunctionCall","src":"6134:39:230"},"variableNames":[{"name":"firstByteOfContent","nodeType":"YulIdentifier","src":"6112:18:230"}]}]},"evmVersion":"london","externalReferences":[{"declaration":115360,"isOffset":false,"isSlot":false,"src":"6112:18:230","valueSize":1},{"declaration":115324,"isOffset":false,"isSlot":false,"src":"6148:3:230","valueSize":1}],"id":115362,"nodeType":"InlineAssembly","src":"6085:102:230"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":115369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115363,"name":"strLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115346,"src":"6205:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":115364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6215:1:230","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6205:11:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":115368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115366,"name":"firstByteOfContent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115360,"src":"6220:18:230","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30783830","id":115367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6241:4:230","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"0x80"},"src":"6220:25:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6205:40:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115373,"nodeType":"IfStatement","src":"6201:68:230","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":115370,"name":"InvalidHeader","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115028,"src":"6254:13:230","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":115371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6254:15:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":115372,"nodeType":"RevertStatement","src":"6247:22:230"}},{"expression":{"components":[{"hexValue":"31","id":115374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6292:1:230","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"id":115375,"name":"strLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115346,"src":"6295:6:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":115376,"name":"RLPItemType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115037,"src":"6303:11:230","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RLPItemType_$115037_$","typeString":"type(enum RLPReader.RLPItemType)"}},"id":115377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"DATA_ITEM","nodeType":"MemberAccess","referencedDeclaration":115035,"src":"6303:21:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}}],"id":115378,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6291:34:230","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_1_by_1_$_t_uint256_$_t_enum$_RLPItemType_$115037_$","typeString":"tuple(int_const 1,uint256,enum RLPReader.RLPItemType)"}},"functionReturnParameters":115313,"id":115379,"nodeType":"Return","src":"6284:41:230"}]}},"id":115521,"nodeType":"IfStatement","src":"5695:2465:230","trueBody":{"id":115341,"nodeType":"Block","src":"5715:89:230","statements":[{"expression":{"components":[{"hexValue":"30","id":115335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5765:1:230","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"31","id":115336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5768:1:230","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"expression":{"id":115337,"name":"RLPItemType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115037,"src":"5771:11:230","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RLPItemType_$115037_$","typeString":"type(enum RLPReader.RLPItemType)"}},"id":115338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"DATA_ITEM","nodeType":"MemberAccess","referencedDeclaration":115035,"src":"5771:21:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}}],"id":115339,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5764:29:230","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_1_by_1_$_t_enum$_RLPItemType_$115037_$","typeString":"tuple(int_const 0,int_const 1,enum RLPReader.RLPItemType)"}},"functionReturnParameters":115313,"id":115340,"nodeType":"Return","src":"5757:36:230"}]}}]},"documentation":{"id":115301,"nodeType":"StructuredDocumentation","src":"4818:251:230","text":"@notice Decodes the length of an RLP item.\n @param _in RLP item to decode.\n @return offset_ Offset of the encoded data.\n @return length_ Length of the encoded data.\n @return type_ RLP item type (LIST_ITEM or DATA_ITEM)."},"implemented":true,"kind":"function","modifiers":[],"name":"_decodeLength","nameLocation":"5083:13:230","parameters":{"id":115305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115304,"mutability":"mutable","name":"_in","nameLocation":"5112:3:230","nodeType":"VariableDeclaration","scope":115523,"src":"5097:18:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_memory_ptr","typeString":"struct RLPReader.RLPItem"},"typeName":{"id":115303,"nodeType":"UserDefinedTypeName","pathNode":{"id":115302,"name":"RLPItem","nodeType":"IdentifierPath","referencedDeclaration":115043,"src":"5097:7:230"},"referencedDeclaration":115043,"src":"5097:7:230","typeDescriptions":{"typeIdentifier":"t_struct$_RLPItem_$115043_storage_ptr","typeString":"struct RLPReader.RLPItem"}},"visibility":"internal"}],"src":"5096:20:230"},"returnParameters":{"id":115313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115307,"mutability":"mutable","name":"offset_","nameLocation":"5171:7:230","nodeType":"VariableDeclaration","scope":115523,"src":"5163:15:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115306,"name":"uint256","nodeType":"ElementaryTypeName","src":"5163:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115309,"mutability":"mutable","name":"length_","nameLocation":"5188:7:230","nodeType":"VariableDeclaration","scope":115523,"src":"5180:15:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115308,"name":"uint256","nodeType":"ElementaryTypeName","src":"5180:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115312,"mutability":"mutable","name":"type_","nameLocation":"5209:5:230","nodeType":"VariableDeclaration","scope":115523,"src":"5197:17:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"},"typeName":{"id":115311,"nodeType":"UserDefinedTypeName","pathNode":{"id":115310,"name":"RLPItemType","nodeType":"IdentifierPath","referencedDeclaration":115037,"src":"5197:11:230"},"referencedDeclaration":115037,"src":"5197:11:230","typeDescriptions":{"typeIdentifier":"t_enum$_RLPItemType_$115037","typeString":"enum RLPReader.RLPItemType"}},"visibility":"internal"}],"src":"5162:53:230"},"scope":115562,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":115561,"nodeType":"FunctionDefinition","src":"8426:737:230","nodes":[],"body":{"id":115560,"nodeType":"Block","src":"8536:627:230","nodes":[],"statements":[{"expression":{"id":115541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":115536,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115534,"src":"8546:4:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":115539,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115531,"src":"8563:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":115538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8553:9:230","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":115537,"name":"bytes","nodeType":"ElementaryTypeName","src":"8557:5:230","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":115540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8553:18:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"8546:25:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":115542,"nodeType":"ExpressionStatement","src":"8546:25:230"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":115543,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115531,"src":"8585:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":115544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8596:1:230","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8585:12:230","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115549,"nodeType":"IfStatement","src":"8581:54:230","trueBody":{"id":115548,"nodeType":"Block","src":"8599:36:230","statements":[{"expression":{"id":115546,"name":"out_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115534,"src":"8620:4:230","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":115535,"id":115547,"nodeType":"Return","src":"8613:11:230"}]}},{"assignments":[115551],"declarations":[{"constant":false,"id":115551,"mutability":"mutable","name":"src","nameLocation":"8859:3:230","nodeType":"VariableDeclaration","scope":115560,"src":"8851:11:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115550,"name":"uint256","nodeType":"ElementaryTypeName","src":"8851:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":115558,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":115557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":115554,"name":"_src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115527,"src":"8886:4:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}],"expression":{"id":115552,"name":"MemoryPointer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115034,"src":"8865:13:230","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_MemoryPointer_$115034_$","typeString":"type(RLPReader.MemoryPointer)"}},"id":115553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"unwrap","nodeType":"MemberAccess","src":"8865:20:230","typeDescriptions":{"typeIdentifier":"t_function_unwrap_pure$_t_userDefinedValueType$_MemoryPointer_$115034_$returns$_t_uint256_$","typeString":"function (RLPReader.MemoryPointer) pure returns (uint256)"}},"id":115555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8865:26:230","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":115556,"name":"_offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115529,"src":"8894:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8865:36:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8851:50:230"},{"AST":{"nodeType":"YulBlock","src":"8920:237:230","statements":[{"nodeType":"YulVariableDeclaration","src":"8934:25:230","value":{"arguments":[{"name":"out_","nodeType":"YulIdentifier","src":"8950:4:230"},{"kind":"number","nodeType":"YulLiteral","src":"8956:2:230","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8946:3:230"},"nodeType":"YulFunctionCall","src":"8946:13:230"},"variables":[{"name":"dest","nodeType":"YulTypedName","src":"8938:4:230","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8972:10:230","value":{"kind":"number","nodeType":"YulLiteral","src":"8981:1:230","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"8976:1:230","type":""}]},{"body":{"nodeType":"YulBlock","src":"9038:44:230","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"9051:4:230"},{"name":"i","nodeType":"YulIdentifier","src":"9057:1:230"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9047:3:230"},"nodeType":"YulFunctionCall","src":"9047:12:230"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"9071:3:230"},{"name":"i","nodeType":"YulIdentifier","src":"9076:1:230"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9067:3:230"},"nodeType":"YulFunctionCall","src":"9067:11:230"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9061:5:230"},"nodeType":"YulFunctionCall","src":"9061:18:230"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9040:6:230"},"nodeType":"YulFunctionCall","src":"9040:40:230"},"nodeType":"YulExpressionStatement","src":"9040:40:230"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9006:1:230"},{"name":"_length","nodeType":"YulIdentifier","src":"9009:7:230"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9003:2:230"},"nodeType":"YulFunctionCall","src":"9003:14:230"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"9018:19:230","statements":[{"nodeType":"YulAssignment","src":"9020:15:230","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9029:1:230"},{"kind":"number","nodeType":"YulLiteral","src":"9032:2:230","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9025:3:230"},"nodeType":"YulFunctionCall","src":"9025:10:230"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"9020:1:230"}]}]},"pre":{"nodeType":"YulBlock","src":"8999:3:230","statements":[]},"src":"8995:87:230"},{"body":{"nodeType":"YulBlock","src":"9114:33:230","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dest","nodeType":"YulIdentifier","src":"9127:4:230"},{"name":"_length","nodeType":"YulIdentifier","src":"9133:7:230"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9123:3:230"},"nodeType":"YulFunctionCall","src":"9123:18:230"},{"kind":"number","nodeType":"YulLiteral","src":"9143:1:230","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9116:6:230"},"nodeType":"YulFunctionCall","src":"9116:29:230"},"nodeType":"YulExpressionStatement","src":"9116:29:230"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9102:1:230"},{"name":"_length","nodeType":"YulIdentifier","src":"9105:7:230"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9099:2:230"},"nodeType":"YulFunctionCall","src":"9099:14:230"},"nodeType":"YulIf","src":"9096:51:230"}]},"evmVersion":"london","externalReferences":[{"declaration":115531,"isOffset":false,"isSlot":false,"src":"9009:7:230","valueSize":1},{"declaration":115531,"isOffset":false,"isSlot":false,"src":"9105:7:230","valueSize":1},{"declaration":115531,"isOffset":false,"isSlot":false,"src":"9133:7:230","valueSize":1},{"declaration":115534,"isOffset":false,"isSlot":false,"src":"8950:4:230","valueSize":1},{"declaration":115551,"isOffset":false,"isSlot":false,"src":"9071:3:230","valueSize":1}],"id":115559,"nodeType":"InlineAssembly","src":"8911:246:230"}]},"documentation":{"id":115524,"nodeType":"StructuredDocumentation","src":"8172:249:230","text":"@notice Copies the bytes from a memory location.\n @param _src    Pointer to the location to read from.\n @param _offset Offset to start reading from.\n @param _length Number of bytes to read.\n @return out_ Copied bytes."},"implemented":true,"kind":"function","modifiers":[],"name":"_copy","nameLocation":"8435:5:230","parameters":{"id":115532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115527,"mutability":"mutable","name":"_src","nameLocation":"8455:4:230","nodeType":"VariableDeclaration","scope":115561,"src":"8441:18:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"},"typeName":{"id":115526,"nodeType":"UserDefinedTypeName","pathNode":{"id":115525,"name":"MemoryPointer","nodeType":"IdentifierPath","referencedDeclaration":115034,"src":"8441:13:230"},"referencedDeclaration":115034,"src":"8441:13:230","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_MemoryPointer_$115034","typeString":"RLPReader.MemoryPointer"}},"visibility":"internal"},{"constant":false,"id":115529,"mutability":"mutable","name":"_offset","nameLocation":"8469:7:230","nodeType":"VariableDeclaration","scope":115561,"src":"8461:15:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115528,"name":"uint256","nodeType":"ElementaryTypeName","src":"8461:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":115531,"mutability":"mutable","name":"_length","nameLocation":"8486:7:230","nodeType":"VariableDeclaration","scope":115561,"src":"8478:15:230","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115530,"name":"uint256","nodeType":"ElementaryTypeName","src":"8478:7:230","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8440:54:230"},"returnParameters":{"id":115535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115534,"mutability":"mutable","name":"out_","nameLocation":"8530:4:230","nodeType":"VariableDeclaration","scope":115561,"src":"8517:17:230","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":115533,"name":"bytes","nodeType":"ElementaryTypeName","src":"8517:5:230","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8516:19:230"},"scope":115562,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"RLPReader","contractDependencies":[],"contractKind":"library","documentation":{"id":115032,"nodeType":"StructuredDocumentation","src":"84:334:230","text":"@custom:attribution https://github.com/hamdiallam/Solidity-RLP\n @title RLPReader\n @notice RLPReader is a library for parsing RLP-encoded byte arrays into Solidity types. Adapted\n         from Solidity-RLP (https://github.com/hamdiallam/Solidity-RLP) by Hamdi Allam with\n         various tweaks to improve readability."},"fullyImplemented":true,"linearizedBaseContracts":[115562],"name":"RLPReader","nameLocation":"426:9:230","scope":115563,"usedErrors":[]}],"license":"MIT"},"id":230}