{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122074b589d74445121086fe76d9faa954e45f190fb938a1a02ecd4554284e27e85f64736f6c63430008180033","sourceMap":"7339:4527:158:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;7339:4527:158;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122074b589d74445121086fe76d9faa954e45f190fb938a1a02ecd4554284e27e85f64736f6c63430008180033","sourceMap":"7339:4527:158:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":base/=src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin/=node_modules/@openzeppelin/","base/=src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/forge-std/src/StdStorage.sol":"stdStorage"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"node_modules/forge-std/src/Vm.sol":{"keccak256":"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a","urls":["bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3","dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/forge-std/src/StdStorage.sol","id":67729,"exportedSymbols":{"StdStorage":[66295],"Vm":[69872],"stdStorage":[67728],"stdStorageSafe":[67187]},"nodeType":"SourceUnit","src":"32:11835:158","nodes":[{"id":66265,"nodeType":"PragmaDirective","src":"32:31:158","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":66267,"nodeType":"ImportDirective","src":"65:28:158","nodes":[],"absolutePath":"node_modules/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":67729,"sourceUnit":69873,"symbolAliases":[{"foreign":{"id":66266,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69872,"src":"73:2:158","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66295,"nodeType":"StructDefinition","src":"95:271:158","nodes":[],"canonicalName":"StdStorage","members":[{"constant":false,"id":66275,"mutability":"mutable","name":"slots","nameLocation":"186:5:158","nodeType":"VariableDeclaration","scope":66295,"src":"119:72:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"},"typeName":{"id":66274,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66268,"name":"address","nodeType":"ElementaryTypeName","src":"127:7:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"119:66:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66273,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66269,"name":"bytes4","nodeType":"ElementaryTypeName","src":"146:6:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"138:46:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66272,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66270,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"156:27:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66271,"name":"uint256","nodeType":"ElementaryTypeName","src":"175:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}}},"visibility":"internal"},{"constant":false,"id":66283,"mutability":"mutable","name":"finds","nameLocation":"261:5:158","nodeType":"VariableDeclaration","scope":66295,"src":"197:69:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"},"typeName":{"id":66282,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66276,"name":"address","nodeType":"ElementaryTypeName","src":"205:7:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"197:63:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66281,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66277,"name":"bytes4","nodeType":"ElementaryTypeName","src":"224:6:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"216:43:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66280,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":66278,"name":"bytes32","nodeType":"ElementaryTypeName","src":"242:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"234:24:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":66279,"name":"bool","nodeType":"ElementaryTypeName","src":"253:4:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}}},"visibility":"internal"},{"constant":false,"id":66286,"mutability":"mutable","name":"_keys","nameLocation":"282:5:158","nodeType":"VariableDeclaration","scope":66295,"src":"272:15:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":66284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":66285,"nodeType":"ArrayTypeName","src":"272:9:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":66288,"mutability":"mutable","name":"_sig","nameLocation":"300:4:158","nodeType":"VariableDeclaration","scope":66295,"src":"293:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":66287,"name":"bytes4","nodeType":"ElementaryTypeName","src":"293:6:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":66290,"mutability":"mutable","name":"_depth","nameLocation":"318:6:158","nodeType":"VariableDeclaration","scope":66295,"src":"310:14:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66289,"name":"uint256","nodeType":"ElementaryTypeName","src":"310:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":66292,"mutability":"mutable","name":"_target","nameLocation":"338:7:158","nodeType":"VariableDeclaration","scope":66295,"src":"330:15:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66291,"name":"address","nodeType":"ElementaryTypeName","src":"330:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66294,"mutability":"mutable","name":"_set","nameLocation":"359:4:158","nodeType":"VariableDeclaration","scope":66295,"src":"351:12:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"StdStorage","nameLocation":"102:10:158","scope":67729,"visibility":"public"},{"id":67187,"nodeType":"ContractDefinition","src":"368:6969:158","nodes":[{"id":66305,"nodeType":"EventDefinition","src":"397:74:158","nodes":[],"anonymous":false,"eventSelector":"9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed","name":"SlotFound","nameLocation":"403:9:158","parameters":{"id":66304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66297,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"421:3:158","nodeType":"VariableDeclaration","scope":66305,"src":"413:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66296,"name":"address","nodeType":"ElementaryTypeName","src":"413:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66299,"indexed":false,"mutability":"mutable","name":"fsig","nameLocation":"433:4:158","nodeType":"VariableDeclaration","scope":66305,"src":"426:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":66298,"name":"bytes4","nodeType":"ElementaryTypeName","src":"426:6:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":66301,"indexed":false,"mutability":"mutable","name":"keysHash","nameLocation":"447:8:158","nodeType":"VariableDeclaration","scope":66305,"src":"439:16:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66300,"name":"bytes32","nodeType":"ElementaryTypeName","src":"439:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":66303,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"465:4:158","nodeType":"VariableDeclaration","scope":66305,"src":"457:12:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66302,"name":"uint256","nodeType":"ElementaryTypeName","src":"457:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"412:58:158"}},{"id":66311,"nodeType":"EventDefinition","src":"476:54:158","nodes":[],"anonymous":false,"eventSelector":"080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5","name":"WARNING_UninitedSlot","nameLocation":"482:20:158","parameters":{"id":66310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66307,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"511:3:158","nodeType":"VariableDeclaration","scope":66311,"src":"503:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66306,"name":"address","nodeType":"ElementaryTypeName","src":"503:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":66309,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"524:4:158","nodeType":"VariableDeclaration","scope":66311,"src":"516:12:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66308,"name":"uint256","nodeType":"ElementaryTypeName","src":"516:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"502:27:158"}},{"id":66328,"nodeType":"VariableDeclaration","src":"536:84:158","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"556:2:158","scope":67187,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"},"typeName":{"id":66313,"nodeType":"UserDefinedTypeName","pathNode":{"id":66312,"name":"Vm","nameLocations":["536:2:158"],"nodeType":"IdentifierPath","referencedDeclaration":69872,"src":"536:2:158"},"referencedDeclaration":69872,"src":"536:2:158","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":66322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"598:17:158","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":66321,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"588:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"588:28:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"580:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66319,"name":"uint256","nodeType":"ElementaryTypeName","src":"580:7:158","typeDescriptions":{}}},"id":66324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:37:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"572:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":66317,"name":"uint160","nodeType":"ElementaryTypeName","src":"572:7:158","typeDescriptions":{}}},"id":66325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"572:46:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":66316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"564:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66315,"name":"address","nodeType":"ElementaryTypeName","src":"564:7:158","typeDescriptions":{}}},"id":66326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"564:55:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66314,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69872,"src":"561:2:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$69872_$","typeString":"type(contract Vm)"}},"id":66327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"561:59:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"visibility":"private"},{"id":66346,"nodeType":"FunctionDefinition","src":"627:123:158","nodes":[],"body":{"id":66345,"nodeType":"Block","src":"694:56:158","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":66340,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66330,"src":"734:6:158","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":66339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"728:5:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66338,"name":"bytes","nodeType":"ElementaryTypeName","src":"728:5:158","typeDescriptions":{}}},"id":66341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"728:13:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66337,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"718:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"718:24:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"711:6:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":66335,"name":"bytes4","nodeType":"ElementaryTypeName","src":"711:6:158","typeDescriptions":{}}},"id":66343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"711:32:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":66334,"id":66344,"nodeType":"Return","src":"704:39:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"636:4:158","parameters":{"id":66331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66330,"mutability":"mutable","name":"sigStr","nameLocation":"655:6:158","nodeType":"VariableDeclaration","scope":66346,"src":"641:20:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66329,"name":"string","nodeType":"ElementaryTypeName","src":"641:6:158","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"640:22:158"},"returnParameters":{"id":66334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66333,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66346,"src":"686:6:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":66332,"name":"bytes4","nodeType":"ElementaryTypeName","src":"686:6:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"685:8:158"},"scope":67187,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":66790,"nodeType":"FunctionDefinition","src":"1264:3197:158","nodes":[],"body":{"id":66789,"nodeType":"Block","src":"1330:3131:158","nodes":[],"statements":[{"assignments":[66356],"declarations":[{"constant":false,"id":66356,"mutability":"mutable","name":"who","nameLocation":"1348:3:158","nodeType":"VariableDeclaration","scope":66789,"src":"1340:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66355,"name":"address","nodeType":"ElementaryTypeName","src":"1340:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66359,"initialValue":{"expression":{"id":66357,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"1354:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1359:7:158","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":66292,"src":"1354:12:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1340:26:158"},{"assignments":[66361],"declarations":[{"constant":false,"id":66361,"mutability":"mutable","name":"fsig","nameLocation":"1383:4:158","nodeType":"VariableDeclaration","scope":66789,"src":"1376:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":66360,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1376:6:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":66364,"initialValue":{"expression":{"id":66362,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"1390:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1395:4:158","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":66288,"src":"1390:9:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"1376:23:158"},{"assignments":[66366],"declarations":[{"constant":false,"id":66366,"mutability":"mutable","name":"field_depth","nameLocation":"1417:11:158","nodeType":"VariableDeclaration","scope":66789,"src":"1409:19:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66365,"name":"uint256","nodeType":"ElementaryTypeName","src":"1409:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66369,"initialValue":{"expression":{"id":66367,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"1431:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1436:6:158","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":66290,"src":"1431:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1409:33:158"},{"assignments":[66374],"declarations":[{"constant":false,"id":66374,"mutability":"mutable","name":"ins","nameLocation":"1469:3:158","nodeType":"VariableDeclaration","scope":66789,"src":"1452:20:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":66372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1452:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":66373,"nodeType":"ArrayTypeName","src":"1452:9:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":66377,"initialValue":{"expression":{"id":66375,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"1475:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66376,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1480:5:158","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":66286,"src":"1475:10:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"1452:33:158"},{"condition":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":66378,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"1536:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1541:5:158","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":66283,"src":"1536:10:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":66381,"indexExpression":{"id":66380,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"1547:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1536:15:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":66383,"indexExpression":{"id":66382,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66361,"src":"1552:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1536:21:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":66391,"indexExpression":{"arguments":[{"arguments":[{"id":66387,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66374,"src":"1585:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":66388,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66366,"src":"1590:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66385,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1568:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1572:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"1568:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1568:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66384,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1558:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1558:45:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1536:68:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66408,"nodeType":"IfStatement","src":"1532:174:158","trueBody":{"id":66407,"nodeType":"Block","src":"1606:100:158","statements":[{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":66392,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"1627:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1632:5:158","memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":66275,"src":"1627:10:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":66395,"indexExpression":{"id":66394,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"1638:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1627:15:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":66397,"indexExpression":{"id":66396,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66361,"src":"1643:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1627:21:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":66405,"indexExpression":{"arguments":[{"arguments":[{"id":66401,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66374,"src":"1676:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":66402,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66366,"src":"1681:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66399,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1659:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1663:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"1659:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1659:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66398,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1649:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1649:45:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1627:68:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66354,"id":66406,"nodeType":"Return","src":"1620:75:158"}]}},{"assignments":[66410],"declarations":[{"constant":false,"id":66410,"mutability":"mutable","name":"cald","nameLocation":"1728:4:158","nodeType":"VariableDeclaration","scope":66789,"src":"1715:17:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66409,"name":"bytes","nodeType":"ElementaryTypeName","src":"1715:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66418,"initialValue":{"arguments":[{"id":66413,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66361,"src":"1752:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":66415,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66374,"src":"1766:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":66414,"name":"flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67186,"src":"1758:7:158","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory) pure returns (bytes memory)"}},"id":66416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1758:12:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66411,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1735:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1739:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"1735:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1735:36:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1715:56:158"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66419,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66328,"src":"1781:2:158","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":66421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1784:6:158","memberName":"record","nodeType":"MemberAccess","referencedDeclaration":68940,"src":"1781:9:158","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":66422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1781:11:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66423,"nodeType":"ExpressionStatement","src":"1781:11:158"},{"assignments":[66425],"declarations":[{"constant":false,"id":66425,"mutability":"mutable","name":"fdat","nameLocation":"1810:4:158","nodeType":"VariableDeclaration","scope":66789,"src":"1802:12:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1802:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":66426,"nodeType":"VariableDeclarationStatement","src":"1802:12:158"},{"id":66443,"nodeType":"Block","src":"1824:128:158","statements":[{"assignments":[null,66428],"declarations":[null,{"constant":false,"id":66428,"mutability":"mutable","name":"rdat","nameLocation":"1854:4:158","nodeType":"VariableDeclaration","scope":66443,"src":"1841:17:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66427,"name":"bytes","nodeType":"ElementaryTypeName","src":"1841:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66433,"initialValue":{"arguments":[{"id":66431,"name":"cald","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66410,"src":"1877:4:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66429,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"1862:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1866:10:158","memberName":"staticcall","nodeType":"MemberAccess","src":"1862:14:158","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":66432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1862:20:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1838:44:158"},{"expression":{"id":66441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66434,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66425,"src":"1896:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66436,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66428,"src":"1918:4:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":66437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1924:2:158","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":66438,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66366,"src":"1929:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1924:16:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66435,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67145,"src":"1903:14:158","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":66440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1903:38:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1896:45:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":66442,"nodeType":"ExpressionStatement","src":"1896:45:158"}]},{"assignments":[66448,null],"declarations":[{"constant":false,"id":66448,"mutability":"mutable","name":"reads","nameLocation":"1980:5:158","nodeType":"VariableDeclaration","scope":66789,"src":"1963:22:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":66446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1963:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":66447,"nodeType":"ArrayTypeName","src":"1963:9:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},null],"id":66456,"initialValue":{"arguments":[{"arguments":[{"id":66453,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"2010:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2002:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66451,"name":"address","nodeType":"ElementaryTypeName","src":"2002:7:158","typeDescriptions":{}}},"id":66454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2002:12:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66449,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66328,"src":"1990:2:158","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":66450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1993:8:158","memberName":"accesses","nodeType":"MemberAccess","referencedDeclaration":68951,"src":"1990:11:158","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) external returns (bytes32[] memory,bytes32[] memory)"}},"id":66455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1990:25:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"tuple(bytes32[] memory,bytes32[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"1962:53:158"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66457,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"2029:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2035:6:158","memberName":"length","nodeType":"MemberAccess","src":"2029:12:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":66459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2045:1:158","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2029:17:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66559,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"2786:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2792:6:158","memberName":"length","nodeType":"MemberAccess","src":"2786:12:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":66561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2801:1:158","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2786:16:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":66737,"nodeType":"Block","src":"3986:99:158","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204e6f2073746f726167652075736520646574656374656420666f72207461726765742e","id":66734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4007:66:158","typeDescriptions":{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""},"value":"stdStorage find(StdStorage): No storage use detected for target."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""}],"id":66733,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4000:6:158","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":66735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4000:74:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66736,"nodeType":"ExpressionStatement","src":"4000:74:158"}]},"id":66738,"nodeType":"IfStatement","src":"2782:1303:158","trueBody":{"id":66732,"nodeType":"Block","src":"2804:1176:158","statements":[{"body":{"id":66730,"nodeType":"Block","src":"2861:1109:158","statements":[{"assignments":[66575],"declarations":[{"constant":false,"id":66575,"mutability":"mutable","name":"prev","nameLocation":"2887:4:158","nodeType":"VariableDeclaration","scope":66730,"src":"2879:12:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66574,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2879:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":66583,"initialValue":{"arguments":[{"id":66578,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"2902:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":66579,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"2907:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66581,"indexExpression":{"id":66580,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66564,"src":"2913:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2907:8:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66576,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66328,"src":"2894:2:158","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":66577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2897:4:158","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":68622,"src":"2894:7:158","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":66582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2894:22:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2879:37:158"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66584,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66575,"src":"2938:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2954:1:158","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2946:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2946:7:158","typeDescriptions":{}}},"id":66588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2946:10:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2938:18:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66601,"nodeType":"IfStatement","src":"2934:114:158","trueBody":{"id":66600,"nodeType":"Block","src":"2958:90:158","statements":[{"eventCall":{"arguments":[{"id":66591,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"3006:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"baseExpression":{"id":66594,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"3019:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66596,"indexExpression":{"id":66595,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66564,"src":"3025:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3019:8:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3011:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66592,"name":"uint256","nodeType":"ElementaryTypeName","src":"3011:7:158","typeDescriptions":{}}},"id":66597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3011:17:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66590,"name":"WARNING_UninitedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66311,"src":"2985:20:158","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":66598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2985:44:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66599,"nodeType":"EmitStatement","src":"2980:49:158"}]}},{"expression":{"arguments":[{"id":66605,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"3099:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":66606,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"3104:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66608,"indexExpression":{"id":66607,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66564,"src":"3110:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3104:8:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"1337","id":66611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"3122:9:158","typeDescriptions":{"typeIdentifier":"t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc","typeString":"literal_string hex\"1337\""},"value":"\u00137"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc","typeString":"literal_string hex\"1337\""}],"id":66610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3114:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3114:7:158","typeDescriptions":{}}},"id":66612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3114:18:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66602,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66328,"src":"3090:2:158","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":66604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3093:5:158","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":69583,"src":"3090:8:158","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":66613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3090:43:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66614,"nodeType":"ExpressionStatement","src":"3090:43:158"},{"assignments":[66616],"declarations":[{"constant":false,"id":66616,"mutability":"mutable","name":"success","nameLocation":"3156:7:158","nodeType":"VariableDeclaration","scope":66730,"src":"3151:12:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66615,"name":"bool","nodeType":"ElementaryTypeName","src":"3151:4:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":66617,"nodeType":"VariableDeclarationStatement","src":"3151:12:158"},{"assignments":[66619],"declarations":[{"constant":false,"id":66619,"mutability":"mutable","name":"rdat","nameLocation":"3194:4:158","nodeType":"VariableDeclaration","scope":66730,"src":"3181:17:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66618,"name":"bytes","nodeType":"ElementaryTypeName","src":"3181:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":66620,"nodeType":"VariableDeclarationStatement","src":"3181:17:158"},{"id":66639,"nodeType":"Block","src":"3216:146:158","statements":[{"expression":{"id":66628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":66621,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"3239:7:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":66622,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66619,"src":"3248:4:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":66623,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"3238:15:158","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66626,"name":"cald","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66410,"src":"3271:4:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":66624,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"3256:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3260:10:158","memberName":"staticcall","nodeType":"MemberAccess","src":"3256:14:158","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":66627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3256:20:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"3238:38:158","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66629,"nodeType":"ExpressionStatement","src":"3238:38:158"},{"expression":{"id":66637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66630,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66425,"src":"3298:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66632,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66619,"src":"3320:4:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":66633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3326:2:158","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":66634,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66366,"src":"3331:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3326:16:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66631,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67145,"src":"3305:14:158","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":66636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3305:38:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3298:45:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":66638,"nodeType":"ExpressionStatement","src":"3298:45:158"}]},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66640,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66616,"src":"3384:7:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66641,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66425,"src":"3395:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"1337","id":66644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"3411:9:158","typeDescriptions":{"typeIdentifier":"t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc","typeString":"literal_string hex\"1337\""},"value":"\u00137"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc","typeString":"literal_string hex\"1337\""}],"id":66643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3403:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66642,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3403:7:158","typeDescriptions":{}}},"id":66645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3403:18:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3395:26:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3384:37:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66719,"nodeType":"IfStatement","src":"3380:529:158","trueBody":{"id":66718,"nodeType":"Block","src":"3423:486:158","statements":[{"eventCall":{"arguments":[{"id":66649,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"3529:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66650,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66361,"src":"3534:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"id":66654,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66374,"src":"3567:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":66655,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66366,"src":"3572:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66652,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3550:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3554:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"3550:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3550:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66651,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3540:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3540:45:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"baseExpression":{"id":66660,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"3595:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66662,"indexExpression":{"id":66661,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66564,"src":"3601:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3595:8:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3587:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66658,"name":"uint256","nodeType":"ElementaryTypeName","src":"3587:7:158","typeDescriptions":{}}},"id":66663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3587:17:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66648,"name":"SlotFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66305,"src":"3519:9:158","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,bytes4,bytes32,uint256)"}},"id":66664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3519:86:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66665,"nodeType":"EmitStatement","src":"3514:91:158"},{"expression":{"id":66687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":66666,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"3627:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3632:5:158","memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":66275,"src":"3627:10:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":66678,"indexExpression":{"id":66668,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"3638:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3627:15:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":66679,"indexExpression":{"id":66669,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66361,"src":"3643:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3627:21:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":66680,"indexExpression":{"arguments":[{"arguments":[{"id":66673,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66374,"src":"3676:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":66674,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66366,"src":"3681:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66671,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3659:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3663:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"3659:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3659:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66670,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3649:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3649:45:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3627:68:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":66683,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"3706:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66685,"indexExpression":{"id":66684,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66564,"src":"3712:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3706:8:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3698:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66681,"name":"uint256","nodeType":"ElementaryTypeName","src":"3698:7:158","typeDescriptions":{}}},"id":66686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3698:17:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3627:88:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66688,"nodeType":"ExpressionStatement","src":"3627:88:158"},{"expression":{"id":66705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":66689,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"3737:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66700,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3742:5:158","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":66283,"src":"3737:10:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":66701,"indexExpression":{"id":66691,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"3748:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3737:15:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":66702,"indexExpression":{"id":66692,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66361,"src":"3753:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3737:21:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":66703,"indexExpression":{"arguments":[{"arguments":[{"id":66696,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66374,"src":"3786:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":66697,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66366,"src":"3791:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66694,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3769:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66695,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3773:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"3769:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3769:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66693,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3759:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3759:45:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3737:68:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":66704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3808:4:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3737:75:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66706,"nodeType":"ExpressionStatement","src":"3737:75:158"},{"expression":{"arguments":[{"id":66710,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"3843:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":66711,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"3848:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66713,"indexExpression":{"id":66712,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66564,"src":"3854:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3848:8:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66714,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66575,"src":"3858:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66707,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66328,"src":"3834:2:158","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":66709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3837:5:158","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":69583,"src":"3834:8:158","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":66715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3834:29:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66716,"nodeType":"ExpressionStatement","src":"3834:29:158"},{"id":66717,"nodeType":"Break","src":"3885:5:158"}]}},{"expression":{"arguments":[{"id":66723,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"3935:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":66724,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"3940:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66726,"indexExpression":{"id":66725,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66564,"src":"3946:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3940:8:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":66727,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66575,"src":"3950:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66720,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66328,"src":"3926:2:158","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":66722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3929:5:158","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":69583,"src":"3926:8:158","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":66728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3926:29:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66729,"nodeType":"ExpressionStatement","src":"3926:29:158"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66567,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66564,"src":"2838:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":66568,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"2842:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2848:6:158","memberName":"length","nodeType":"MemberAccess","src":"2842:12:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2838:16:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66731,"initializationExpression":{"assignments":[66564],"declarations":[{"constant":false,"id":66564,"mutability":"mutable","name":"i","nameLocation":"2831:1:158","nodeType":"VariableDeclaration","scope":66731,"src":"2823:9:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66563,"name":"uint256","nodeType":"ElementaryTypeName","src":"2823:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66566,"initialValue":{"hexValue":"30","id":66565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2835:1:158","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2823:13:158"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":66572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2856:3:158","subExpression":{"id":66571,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66564,"src":"2856:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66573,"nodeType":"ExpressionStatement","src":"2856:3:158"},"nodeType":"ForStatement","src":"2818:1152:158"}]}},"id":66739,"nodeType":"IfStatement","src":"2025:2060:158","trueBody":{"id":66558,"nodeType":"Block","src":"2048:728:158","statements":[{"assignments":[66462],"declarations":[{"constant":false,"id":66462,"mutability":"mutable","name":"curr","nameLocation":"2070:4:158","nodeType":"VariableDeclaration","scope":66558,"src":"2062:12:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66461,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2062:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":66470,"initialValue":{"arguments":[{"id":66465,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"2085:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":66466,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"2090:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66468,"indexExpression":{"hexValue":"30","id":66467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2096:1:158","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2090:8:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66463,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66328,"src":"2077:2:158","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":66464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2080:4:158","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":68622,"src":"2077:7:158","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":66469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2077:22:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2062:37:158"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66471,"name":"curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66462,"src":"2117:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":66474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2133:1:158","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2125:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66472,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2125:7:158","typeDescriptions":{}}},"id":66475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2125:10:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2117:18:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66488,"nodeType":"IfStatement","src":"2113:106:158","trueBody":{"id":66487,"nodeType":"Block","src":"2137:82:158","statements":[{"eventCall":{"arguments":[{"id":66478,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"2181:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"baseExpression":{"id":66481,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"2194:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66483,"indexExpression":{"hexValue":"30","id":66482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2200:1:158","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2194:8:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2186:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66479,"name":"uint256","nodeType":"ElementaryTypeName","src":"2186:7:158","typeDescriptions":{}}},"id":66484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2186:17:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66477,"name":"WARNING_UninitedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66311,"src":"2160:20:158","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":66485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2160:44:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66486,"nodeType":"EmitStatement","src":"2155:49:158"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66489,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66425,"src":"2236:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":66490,"name":"curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66462,"src":"2244:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2236:12:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66498,"nodeType":"IfStatement","src":"2232:238:158","trueBody":{"id":66497,"nodeType":"Block","src":"2250:220:158","statements":[{"expression":{"arguments":[{"hexValue":"66616c7365","id":66493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2297:5:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e","id":66494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2324:113:158","typeDescriptions":{"typeIdentifier":"t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\""},"value":"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\""}],"id":66492,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2268:7:158","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":66495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2268:187:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66496,"nodeType":"ExpressionStatement","src":"2268:187:158"}]}},{"eventCall":{"arguments":[{"id":66500,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"2498:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":66501,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66361,"src":"2503:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"id":66505,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66374,"src":"2536:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":66506,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66366,"src":"2541:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66503,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2519:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2523:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"2519:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2519:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66502,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2509:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2509:45:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"baseExpression":{"id":66511,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"2564:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66513,"indexExpression":{"hexValue":"30","id":66512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2570:1:158","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2564:8:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2556:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66509,"name":"uint256","nodeType":"ElementaryTypeName","src":"2556:7:158","typeDescriptions":{}}},"id":66514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2556:17:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66499,"name":"SlotFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66305,"src":"2488:9:158","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,bytes4,bytes32,uint256)"}},"id":66515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2488:86:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66516,"nodeType":"EmitStatement","src":"2483:91:158"},{"expression":{"id":66538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":66517,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"2588:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2593:5:158","memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":66275,"src":"2588:10:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":66529,"indexExpression":{"id":66519,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"2599:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2588:15:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":66530,"indexExpression":{"id":66520,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66361,"src":"2604:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2588:21:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":66531,"indexExpression":{"arguments":[{"arguments":[{"id":66524,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66374,"src":"2637:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":66525,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66366,"src":"2642:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66522,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2620:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2624:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"2620:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2620:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66521,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2610:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2610:45:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2588:68:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":66534,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"2667:5:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":66536,"indexExpression":{"hexValue":"30","id":66535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2673:1:158","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2667:8:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2659:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66532,"name":"uint256","nodeType":"ElementaryTypeName","src":"2659:7:158","typeDescriptions":{}}},"id":66537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2659:17:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2588:88:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66539,"nodeType":"ExpressionStatement","src":"2588:88:158"},{"expression":{"id":66556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":66540,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"2690:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66551,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2695:5:158","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":66283,"src":"2690:10:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":66552,"indexExpression":{"id":66542,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"2701:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2690:15:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":66553,"indexExpression":{"id":66543,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66361,"src":"2706:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2690:21:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":66554,"indexExpression":{"arguments":[{"arguments":[{"id":66547,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66374,"src":"2739:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":66548,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66366,"src":"2744:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66545,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2722:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2726:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"2722:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2722:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66544,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2712:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2712:45:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2690:68:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":66555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2761:4:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2690:75:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66557,"nodeType":"ExpressionStatement","src":"2690:75:158"}]}},{"expression":{"arguments":[{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":66741,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"4116:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4121:5:158","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":66283,"src":"4116:10:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":66744,"indexExpression":{"id":66743,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"4127:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4116:15:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":66746,"indexExpression":{"id":66745,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66361,"src":"4132:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4116:21:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":66754,"indexExpression":{"arguments":[{"arguments":[{"id":66750,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66374,"src":"4165:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":66751,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66366,"src":"4170:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66748,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4148:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4152:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"4148:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4148:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66747,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4138:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4138:45:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4116:68:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a20536c6f74287329206e6f7420666f756e642e","id":66755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4198:49:158","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""},"value":"stdStorage find(StdStorage): Slot(s) not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""}],"id":66740,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4095:7:158","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":66756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4095:162:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66757,"nodeType":"ExpressionStatement","src":"4095:162:158"},{"expression":{"id":66760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4268:19:158","subExpression":{"expression":{"id":66758,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"4275:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66759,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4280:7:158","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":66292,"src":"4275:12:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66761,"nodeType":"ExpressionStatement","src":"4268:19:158"},{"expression":{"id":66764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4297:16:158","subExpression":{"expression":{"id":66762,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"4304:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66763,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4309:4:158","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":66288,"src":"4304:9:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66765,"nodeType":"ExpressionStatement","src":"4297:16:158"},{"expression":{"id":66768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4323:17:158","subExpression":{"expression":{"id":66766,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"4330:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66767,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4335:5:158","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":66286,"src":"4330:10:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66769,"nodeType":"ExpressionStatement","src":"4323:17:158"},{"expression":{"id":66772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4350:18:158","subExpression":{"expression":{"id":66770,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"4357:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66771,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4362:6:158","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":66290,"src":"4357:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66773,"nodeType":"ExpressionStatement","src":"4350:18:158"},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":66774,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66350,"src":"4386:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66775,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4391:5:158","memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":66275,"src":"4386:10:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":66777,"indexExpression":{"id":66776,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66356,"src":"4397:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4386:15:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":66779,"indexExpression":{"id":66778,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66361,"src":"4402:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4386:21:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":66787,"indexExpression":{"arguments":[{"arguments":[{"id":66783,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66374,"src":"4435:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":66784,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66366,"src":"4440:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66781,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4418:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4422:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"4418:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4418:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66780,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4408:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4408:45:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4386:68:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":66354,"id":66788,"nodeType":"Return","src":"4379:75:158"}]},"documentation":{"id":66347,"nodeType":"StructuredDocumentation","src":"756:129:158","text":"@notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against"},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"1273:4:158","parameters":{"id":66351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66350,"mutability":"mutable","name":"self","nameLocation":"1297:4:158","nodeType":"VariableDeclaration","scope":66790,"src":"1278:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66349,"nodeType":"UserDefinedTypeName","pathNode":{"id":66348,"name":"StdStorage","nameLocations":["1278:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"1278:10:158"},"referencedDeclaration":66295,"src":"1278:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"1277:25:158"},"returnParameters":{"id":66354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66353,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66790,"src":"1321:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66352,"name":"uint256","nodeType":"ElementaryTypeName","src":"1321:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1320:9:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66810,"nodeType":"FunctionDefinition","src":"4467:156:158","nodes":[],"body":{"id":66809,"nodeType":"Block","src":"4563:60:158","nodes":[],"statements":[{"expression":{"id":66805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66801,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66793,"src":"4573:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66803,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4578:7:158","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":66292,"src":"4573:12:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66804,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66795,"src":"4588:7:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4573:22:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":66806,"nodeType":"ExpressionStatement","src":"4573:22:158"},{"expression":{"id":66807,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66793,"src":"4612:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":66800,"id":66808,"nodeType":"Return","src":"4605:11:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"4476:6:158","parameters":{"id":66796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66793,"mutability":"mutable","name":"self","nameLocation":"4502:4:158","nodeType":"VariableDeclaration","scope":66810,"src":"4483:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66792,"nodeType":"UserDefinedTypeName","pathNode":{"id":66791,"name":"StdStorage","nameLocations":["4483:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"4483:10:158"},"referencedDeclaration":66295,"src":"4483:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":66795,"mutability":"mutable","name":"_target","nameLocation":"4516:7:158","nodeType":"VariableDeclaration","scope":66810,"src":"4508:15:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66794,"name":"address","nodeType":"ElementaryTypeName","src":"4508:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4482:42:158"},"returnParameters":{"id":66800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66799,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66810,"src":"4543:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66798,"nodeType":"UserDefinedTypeName","pathNode":{"id":66797,"name":"StdStorage","nameLocations":["4543:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"4543:10:158"},"referencedDeclaration":66295,"src":"4543:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"4542:20:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66830,"nodeType":"FunctionDefinition","src":"4629:143:158","nodes":[],"body":{"id":66829,"nodeType":"Block","src":"4718:54:158","nodes":[],"statements":[{"expression":{"id":66825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66821,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66813,"src":"4728:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66823,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4733:4:158","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":66288,"src":"4728:9:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66824,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66815,"src":"4740:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4728:16:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":66826,"nodeType":"ExpressionStatement","src":"4728:16:158"},{"expression":{"id":66827,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66813,"src":"4761:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":66820,"id":66828,"nodeType":"Return","src":"4754:11:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"4638:3:158","parameters":{"id":66816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66813,"mutability":"mutable","name":"self","nameLocation":"4661:4:158","nodeType":"VariableDeclaration","scope":66830,"src":"4642:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66812,"nodeType":"UserDefinedTypeName","pathNode":{"id":66811,"name":"StdStorage","nameLocations":["4642:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"4642:10:158"},"referencedDeclaration":66295,"src":"4642:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":66815,"mutability":"mutable","name":"_sig","nameLocation":"4674:4:158","nodeType":"VariableDeclaration","scope":66830,"src":"4667:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":66814,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4667:6:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4641:38:158"},"returnParameters":{"id":66820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66819,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66830,"src":"4698:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66818,"nodeType":"UserDefinedTypeName","pathNode":{"id":66817,"name":"StdStorage","nameLocations":["4698:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"4698:10:158"},"referencedDeclaration":66295,"src":"4698:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"4697:20:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66852,"nodeType":"FunctionDefinition","src":"4778:156:158","nodes":[],"body":{"id":66851,"nodeType":"Block","src":"4874:60:158","nodes":[],"statements":[{"expression":{"id":66847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66841,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66833,"src":"4884:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4889:4:158","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":66288,"src":"4884:9:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":66845,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66835,"src":"4901:4:158","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":66844,"name":"sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66346,"src":"4896:4:158","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":66846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4896:10:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4884:22:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":66848,"nodeType":"ExpressionStatement","src":"4884:22:158"},{"expression":{"id":66849,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66833,"src":"4923:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":66840,"id":66850,"nodeType":"Return","src":"4916:11:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"4787:3:158","parameters":{"id":66836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66833,"mutability":"mutable","name":"self","nameLocation":"4810:4:158","nodeType":"VariableDeclaration","scope":66852,"src":"4791:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66832,"nodeType":"UserDefinedTypeName","pathNode":{"id":66831,"name":"StdStorage","nameLocations":["4791:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"4791:10:158"},"referencedDeclaration":66295,"src":"4791:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":66835,"mutability":"mutable","name":"_sig","nameLocation":"4830:4:158","nodeType":"VariableDeclaration","scope":66852,"src":"4816:18:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66834,"name":"string","nodeType":"ElementaryTypeName","src":"4816:6:158","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4790:45:158"},"returnParameters":{"id":66840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66839,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66852,"src":"4854:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66838,"nodeType":"UserDefinedTypeName","pathNode":{"id":66837,"name":"StdStorage","nameLocations":["4854:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"4854:10:158"},"referencedDeclaration":66295,"src":"4854:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"4853:20:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66883,"nodeType":"FunctionDefinition","src":"4940:179:158","nodes":[],"body":{"id":66882,"nodeType":"Block","src":"5034:85:158","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":66874,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66857,"src":"5084:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5076:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":66872,"name":"uint160","nodeType":"ElementaryTypeName","src":"5076:7:158","typeDescriptions":{}}},"id":66875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5076:12:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":66871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5068:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66870,"name":"uint256","nodeType":"ElementaryTypeName","src":"5068:7:158","typeDescriptions":{}}},"id":66876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5068:21:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5060:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5060:7:158","typeDescriptions":{}}},"id":66877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5060:30:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":66863,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66855,"src":"5044:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5049:5:158","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":66286,"src":"5044:10:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":66867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5055:4:158","memberName":"push","nodeType":"MemberAccess","src":"5044:15:158","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":66878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5044:47:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66879,"nodeType":"ExpressionStatement","src":"5044:47:158"},{"expression":{"id":66880,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66855,"src":"5108:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":66862,"id":66881,"nodeType":"Return","src":"5101:11:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"4949:8:158","parameters":{"id":66858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66855,"mutability":"mutable","name":"self","nameLocation":"4977:4:158","nodeType":"VariableDeclaration","scope":66883,"src":"4958:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66854,"nodeType":"UserDefinedTypeName","pathNode":{"id":66853,"name":"StdStorage","nameLocations":["4958:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"4958:10:158"},"referencedDeclaration":66295,"src":"4958:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":66857,"mutability":"mutable","name":"who","nameLocation":"4991:3:158","nodeType":"VariableDeclaration","scope":66883,"src":"4983:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66856,"name":"address","nodeType":"ElementaryTypeName","src":"4983:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4957:38:158"},"returnParameters":{"id":66862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66861,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66883,"src":"5014:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66860,"nodeType":"UserDefinedTypeName","pathNode":{"id":66859,"name":"StdStorage","nameLocations":["5014:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"5014:10:158"},"referencedDeclaration":66295,"src":"5014:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5013:20:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66908,"nodeType":"FunctionDefinition","src":"5125:161:158","nodes":[],"body":{"id":66907,"nodeType":"Block","src":"5219:67:158","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":66901,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66888,"src":"5253:3:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5245:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5245:7:158","typeDescriptions":{}}},"id":66902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5245:12:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":66894,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"5229:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5234:5:158","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":66286,"src":"5229:10:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":66898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5240:4:158","memberName":"push","nodeType":"MemberAccess","src":"5229:15:158","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":66903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5229:29:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66904,"nodeType":"ExpressionStatement","src":"5229:29:158"},{"expression":{"id":66905,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66886,"src":"5275:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":66893,"id":66906,"nodeType":"Return","src":"5268:11:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"5134:8:158","parameters":{"id":66889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66886,"mutability":"mutable","name":"self","nameLocation":"5162:4:158","nodeType":"VariableDeclaration","scope":66908,"src":"5143:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66885,"nodeType":"UserDefinedTypeName","pathNode":{"id":66884,"name":"StdStorage","nameLocations":["5143:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"5143:10:158"},"referencedDeclaration":66295,"src":"5143:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":66888,"mutability":"mutable","name":"amt","nameLocation":"5176:3:158","nodeType":"VariableDeclaration","scope":66908,"src":"5168:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66887,"name":"uint256","nodeType":"ElementaryTypeName","src":"5168:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5142:38:158"},"returnParameters":{"id":66893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66892,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66908,"src":"5199:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66891,"nodeType":"UserDefinedTypeName","pathNode":{"id":66890,"name":"StdStorage","nameLocations":["5199:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"5199:10:158"},"referencedDeclaration":66295,"src":"5199:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5198:20:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66930,"nodeType":"FunctionDefinition","src":"5292:152:158","nodes":[],"body":{"id":66929,"nodeType":"Block","src":"5386:58:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":66924,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66913,"src":"5412:3:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":66919,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66911,"src":"5396:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5401:5:158","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":66286,"src":"5396:10:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":66923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5407:4:158","memberName":"push","nodeType":"MemberAccess","src":"5396:15:158","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":66925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5396:20:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66926,"nodeType":"ExpressionStatement","src":"5396:20:158"},{"expression":{"id":66927,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66911,"src":"5433:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":66918,"id":66928,"nodeType":"Return","src":"5426:11:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"5301:8:158","parameters":{"id":66914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66911,"mutability":"mutable","name":"self","nameLocation":"5329:4:158","nodeType":"VariableDeclaration","scope":66930,"src":"5310:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66910,"nodeType":"UserDefinedTypeName","pathNode":{"id":66909,"name":"StdStorage","nameLocations":["5310:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"5310:10:158"},"referencedDeclaration":66295,"src":"5310:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":66913,"mutability":"mutable","name":"key","nameLocation":"5343:3:158","nodeType":"VariableDeclaration","scope":66930,"src":"5335:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66912,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5335:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5309:38:158"},"returnParameters":{"id":66918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66930,"src":"5366:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66916,"nodeType":"UserDefinedTypeName","pathNode":{"id":66915,"name":"StdStorage","nameLocations":["5366:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"5366:10:158"},"referencedDeclaration":66295,"src":"5366:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5365:20:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66950,"nodeType":"FunctionDefinition","src":"5450:152:158","nodes":[],"body":{"id":66949,"nodeType":"Block","src":"5544:58:158","nodes":[],"statements":[{"expression":{"id":66945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":66941,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66933,"src":"5554:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66943,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5559:6:158","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":66290,"src":"5554:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":66944,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66935,"src":"5568:6:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5554:20:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66946,"nodeType":"ExpressionStatement","src":"5554:20:158"},{"expression":{"id":66947,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66933,"src":"5591:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":66940,"id":66948,"nodeType":"Return","src":"5584:11:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"5459:5:158","parameters":{"id":66936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66933,"mutability":"mutable","name":"self","nameLocation":"5484:4:158","nodeType":"VariableDeclaration","scope":66950,"src":"5465:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66932,"nodeType":"UserDefinedTypeName","pathNode":{"id":66931,"name":"StdStorage","nameLocations":["5465:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"5465:10:158"},"referencedDeclaration":66295,"src":"5465:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":66935,"mutability":"mutable","name":"_depth","nameLocation":"5498:6:158","nodeType":"VariableDeclaration","scope":66950,"src":"5490:14:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66934,"name":"uint256","nodeType":"ElementaryTypeName","src":"5490:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5464:41:158"},"returnParameters":{"id":66940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66939,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66950,"src":"5524:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66938,"nodeType":"UserDefinedTypeName","pathNode":{"id":66937,"name":"StdStorage","nameLocations":["5524:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"5524:10:158"},"referencedDeclaration":66295,"src":"5524:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5523:20:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66982,"nodeType":"FunctionDefinition","src":"5608:194:158","nodes":[],"body":{"id":66981,"nodeType":"Block","src":"5678:124:158","nodes":[],"statements":[{"assignments":[66959],"declarations":[{"constant":false,"id":66959,"mutability":"mutable","name":"t","nameLocation":"5696:1:158","nodeType":"VariableDeclaration","scope":66981,"src":"5688:9:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66958,"name":"address","nodeType":"ElementaryTypeName","src":"5688:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66962,"initialValue":{"expression":{"id":66960,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66953,"src":"5700:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":66961,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5705:7:158","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":66292,"src":"5700:12:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5688:24:158"},{"assignments":[66964],"declarations":[{"constant":false,"id":66964,"mutability":"mutable","name":"s","nameLocation":"5730:1:158","nodeType":"VariableDeclaration","scope":66981,"src":"5722:9:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66963,"name":"uint256","nodeType":"ElementaryTypeName","src":"5722:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66968,"initialValue":{"arguments":[{"id":66966,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66953,"src":"5739:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":66965,"name":"find","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66790,"src":"5734:4:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":66967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5734:10:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5722:22:158"},{"expression":{"arguments":[{"arguments":[{"id":66973,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66959,"src":"5780:1:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":66976,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66964,"src":"5791:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5783:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66974,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5783:7:158","typeDescriptions":{}}},"id":66977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5783:10:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66971,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66328,"src":"5772:2:158","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":66972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5775:4:158","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":68622,"src":"5772:7:158","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":66978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5772:22:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":66969,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5761:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5765:6:158","memberName":"encode","nodeType":"MemberAccess","src":"5761:10:158","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":66979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5761:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":66957,"id":66980,"nodeType":"Return","src":"5754:41:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read","nameLocation":"5617:4:158","parameters":{"id":66954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66953,"mutability":"mutable","name":"self","nameLocation":"5641:4:158","nodeType":"VariableDeclaration","scope":66982,"src":"5622:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66952,"nodeType":"UserDefinedTypeName","pathNode":{"id":66951,"name":"StdStorage","nameLocations":["5622:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"5622:10:158"},"referencedDeclaration":66295,"src":"5622:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5621:25:158"},"returnParameters":{"id":66957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66956,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66982,"src":"5664:12:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":66955,"name":"bytes","nodeType":"ElementaryTypeName","src":"5664:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5663:14:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":67001,"nodeType":"FunctionDefinition","src":"5808:131:158","nodes":[],"body":{"id":67000,"nodeType":"Block","src":"5882:57:158","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":66993,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66985,"src":"5915:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":66992,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66982,"src":"5910:4:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":66994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5910:10:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":66996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5923:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":66995,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5923:7:158","typeDescriptions":{}}}],"id":66997,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5922:9:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}],"expression":{"id":66990,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5899:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":66991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5903:6:158","memberName":"decode","nodeType":"MemberAccess","src":"5899:10:158","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":66998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5899:33:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":66989,"id":66999,"nodeType":"Return","src":"5892:40:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"5817:12:158","parameters":{"id":66986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66985,"mutability":"mutable","name":"self","nameLocation":"5849:4:158","nodeType":"VariableDeclaration","scope":67001,"src":"5830:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":66984,"nodeType":"UserDefinedTypeName","pathNode":{"id":66983,"name":"StdStorage","nameLocations":["5830:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"5830:10:158"},"referencedDeclaration":66295,"src":"5830:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5829:25:158"},"returnParameters":{"id":66989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66988,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67001,"src":"5873:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5873:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5872:9:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67032,"nodeType":"FunctionDefinition","src":"5945:279:158","nodes":[],"body":{"id":67031,"nodeType":"Block","src":"6013:211:158","nodes":[],"statements":[{"assignments":[67010],"declarations":[{"constant":false,"id":67010,"mutability":"mutable","name":"v","nameLocation":"6030:1:158","nodeType":"VariableDeclaration","scope":67031,"src":"6023:8:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67009,"name":"int256","nodeType":"ElementaryTypeName","src":"6023:6:158","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":67014,"initialValue":{"arguments":[{"id":67012,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67004,"src":"6043:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":67011,"name":"read_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67089,"src":"6034:8:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":67013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6034:14:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"6023:25:158"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":67017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67015,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67010,"src":"6062:1:158","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6067:1:158","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6062:6:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67020,"nodeType":"IfStatement","src":"6058:24:158","trueBody":{"expression":{"hexValue":"66616c7365","id":67018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:5:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":67008,"id":67019,"nodeType":"Return","src":"6070:12:158"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":67023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67021,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67010,"src":"6096:1:158","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":67022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6101:1:158","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6096:6:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67026,"nodeType":"IfStatement","src":"6092:23:158","trueBody":{"expression":{"hexValue":"74727565","id":67024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6111:4:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":67008,"id":67025,"nodeType":"Return","src":"6104:11:158"}},{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f74206465636f64652e204d616b65207375726520796f75206172652072656164696e67206120626f6f6c2e","id":67028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6132:84:158","typeDescriptions":{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""},"value":"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""}],"id":67027,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"6125:6:158","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":67029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6125:92:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67030,"nodeType":"ExpressionStatement","src":"6125:92:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"5954:9:158","parameters":{"id":67005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67004,"mutability":"mutable","name":"self","nameLocation":"5983:4:158","nodeType":"VariableDeclaration","scope":67032,"src":"5964:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67003,"nodeType":"UserDefinedTypeName","pathNode":{"id":67002,"name":"StdStorage","nameLocations":["5964:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"5964:10:158"},"referencedDeclaration":66295,"src":"5964:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5963:25:158"},"returnParameters":{"id":67008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67007,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67032,"src":"6007:4:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67006,"name":"bool","nodeType":"ElementaryTypeName","src":"6007:4:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6006:6:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67051,"nodeType":"FunctionDefinition","src":"6230:131:158","nodes":[],"body":{"id":67050,"nodeType":"Block","src":"6304:57:158","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":67043,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67035,"src":"6337:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":67042,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66982,"src":"6332:4:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":67044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6332:10:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":67046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6345:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67045,"name":"address","nodeType":"ElementaryTypeName","src":"6345:7:158","typeDescriptions":{}}}],"id":67047,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6344:9:158","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":67040,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6321:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6325:6:158","memberName":"decode","nodeType":"MemberAccess","src":"6321:10:158","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6321:33:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":67039,"id":67049,"nodeType":"Return","src":"6314:40:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"6239:12:158","parameters":{"id":67036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67035,"mutability":"mutable","name":"self","nameLocation":"6271:4:158","nodeType":"VariableDeclaration","scope":67051,"src":"6252:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67034,"nodeType":"UserDefinedTypeName","pathNode":{"id":67033,"name":"StdStorage","nameLocations":["6252:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"6252:10:158"},"referencedDeclaration":66295,"src":"6252:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6251:25:158"},"returnParameters":{"id":67039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67038,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67051,"src":"6295:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67037,"name":"address","nodeType":"ElementaryTypeName","src":"6295:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6294:9:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67070,"nodeType":"FunctionDefinition","src":"6367:128:158","nodes":[],"body":{"id":67069,"nodeType":"Block","src":"6438:57:158","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":67062,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67054,"src":"6471:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":67061,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66982,"src":"6466:4:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":67063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6466:10:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":67065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6479:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67064,"name":"uint256","nodeType":"ElementaryTypeName","src":"6479:7:158","typeDescriptions":{}}}],"id":67066,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6478:9:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":67059,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6455:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6459:6:158","memberName":"decode","nodeType":"MemberAccess","src":"6455:10:158","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6455:33:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67058,"id":67068,"nodeType":"Return","src":"6448:40:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"6376:9:158","parameters":{"id":67055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67054,"mutability":"mutable","name":"self","nameLocation":"6405:4:158","nodeType":"VariableDeclaration","scope":67070,"src":"6386:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67053,"nodeType":"UserDefinedTypeName","pathNode":{"id":67052,"name":"StdStorage","nameLocations":["6386:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"6386:10:158"},"referencedDeclaration":66295,"src":"6386:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6385:25:158"},"returnParameters":{"id":67058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67057,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67070,"src":"6429:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67056,"name":"uint256","nodeType":"ElementaryTypeName","src":"6429:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6428:9:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67089,"nodeType":"FunctionDefinition","src":"6501:125:158","nodes":[],"body":{"id":67088,"nodeType":"Block","src":"6570:56:158","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":67081,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67073,"src":"6603:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":67080,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66982,"src":"6598:4:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":67082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6598:10:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":67084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6611:6:158","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":67083,"name":"int256","nodeType":"ElementaryTypeName","src":"6611:6:158","typeDescriptions":{}}}],"id":67085,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6610:8:158","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"expression":{"id":67078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6587:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6591:6:158","memberName":"decode","nodeType":"MemberAccess","src":"6587:10:158","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":67086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6587:32:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":67077,"id":67087,"nodeType":"Return","src":"6580:39:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"6510:8:158","parameters":{"id":67074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67073,"mutability":"mutable","name":"self","nameLocation":"6538:4:158","nodeType":"VariableDeclaration","scope":67089,"src":"6519:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67072,"nodeType":"UserDefinedTypeName","pathNode":{"id":67071,"name":"StdStorage","nameLocations":["6519:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"6519:10:158"},"referencedDeclaration":66295,"src":"6519:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6518:25:158"},"returnParameters":{"id":67077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67089,"src":"6562:6:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67075,"name":"int256","nodeType":"ElementaryTypeName","src":"6562:6:158","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6561:8:158"},"scope":67187,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67145,"nodeType":"FunctionDefinition","src":"6632:304:158","nodes":[],"body":{"id":67144,"nodeType":"Block","src":"6719:217:158","nodes":[],"statements":[{"assignments":[67099],"declarations":[{"constant":false,"id":67099,"mutability":"mutable","name":"out","nameLocation":"6737:3:158","nodeType":"VariableDeclaration","scope":67144,"src":"6729:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6729:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67100,"nodeType":"VariableDeclarationStatement","src":"6729:11:158"},{"assignments":[67102],"declarations":[{"constant":false,"id":67102,"mutability":"mutable","name":"max","nameLocation":"6759:3:158","nodeType":"VariableDeclaration","scope":67144,"src":"6751:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67101,"name":"uint256","nodeType":"ElementaryTypeName","src":"6751:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67111,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67103,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67091,"src":"6765:1:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6767:6:158","memberName":"length","nodeType":"MemberAccess","src":"6765:8:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":67105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6776:2:158","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"6765:13:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":67108,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67091,"src":"6786:1:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6788:6:158","memberName":"length","nodeType":"MemberAccess","src":"6786:8:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6765:29:158","trueExpression":{"hexValue":"3332","id":67107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6781:2:158","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6751:43:158"},{"body":{"id":67140,"nodeType":"Block","src":"6838:72:158","statements":[{"expression":{"id":67138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67122,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67099,"src":"6852:3:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":67137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":67131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":67125,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67091,"src":"6867:1:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67129,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67126,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67093,"src":"6869:6:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67127,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67113,"src":"6878:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6869:10:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6867:13:158","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":67130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6883:4:158","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"6867:20:158","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":67124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6859:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":67123,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6859:7:158","typeDescriptions":{}}},"id":67132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6859:29:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67133,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67113,"src":"6893:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":67134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6897:1:158","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"6893:5:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6892:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6859:40:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6852:47:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67139,"nodeType":"ExpressionStatement","src":"6852:47:158"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67116,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67113,"src":"6824:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":67117,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67102,"src":"6828:3:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6824:7:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67141,"initializationExpression":{"assignments":[67113],"declarations":[{"constant":false,"id":67113,"mutability":"mutable","name":"i","nameLocation":"6817:1:158","nodeType":"VariableDeclaration","scope":67141,"src":"6809:9:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67112,"name":"uint256","nodeType":"ElementaryTypeName","src":"6809:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67115,"initialValue":{"hexValue":"30","id":67114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6821:1:158","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6809:13:158"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":67120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6833:3:158","subExpression":{"id":67119,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67113,"src":"6833:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67121,"nodeType":"ExpressionStatement","src":"6833:3:158"},"nodeType":"ForStatement","src":"6804:106:158"},{"expression":{"id":67142,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67099,"src":"6926:3:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":67097,"id":67143,"nodeType":"Return","src":"6919:10:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToBytes32","nameLocation":"6641:14:158","parameters":{"id":67094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67091,"mutability":"mutable","name":"b","nameLocation":"6669:1:158","nodeType":"VariableDeclaration","scope":67145,"src":"6656:14:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67090,"name":"bytes","nodeType":"ElementaryTypeName","src":"6656:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67093,"mutability":"mutable","name":"offset","nameLocation":"6680:6:158","nodeType":"VariableDeclaration","scope":67145,"src":"6672:14:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67092,"name":"uint256","nodeType":"ElementaryTypeName","src":"6672:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6655:32:158"},"returnParameters":{"id":67097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67096,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67145,"src":"6710:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67095,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6710:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6709:9:158"},"scope":67187,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":67186,"nodeType":"FunctionDefinition","src":"6942:393:158","nodes":[],"body":{"id":67185,"nodeType":"Block","src":"7015:320:158","nodes":[],"statements":[{"assignments":[67154],"declarations":[{"constant":false,"id":67154,"mutability":"mutable","name":"result","nameLocation":"7038:6:158","nodeType":"VariableDeclaration","scope":67185,"src":"7025:19:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67153,"name":"bytes","nodeType":"ElementaryTypeName","src":"7025:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":67162,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67157,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67148,"src":"7057:1:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7059:6:158","memberName":"length","nodeType":"MemberAccess","src":"7057:8:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3332","id":67159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7068:2:158","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"7057:13:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67156,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7047:9:158","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":67155,"name":"bytes","nodeType":"ElementaryTypeName","src":"7051:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":67161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7047:24:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7025:46:158"},{"body":{"id":67181,"nodeType":"Block","src":"7120:185:158","statements":[{"assignments":[67175],"declarations":[{"constant":false,"id":67175,"mutability":"mutable","name":"k","nameLocation":"7142:1:158","nodeType":"VariableDeclaration","scope":67181,"src":"7134:9:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7134:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67179,"initialValue":{"baseExpression":{"id":67176,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67148,"src":"7146:1:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67178,"indexExpression":{"id":67177,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67164,"src":"7148:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7146:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7134:16:158"},{"AST":{"nativeSrc":"7220:75:158","nodeType":"YulBlock","src":"7220:75:158","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"7249:6:158","nodeType":"YulIdentifier","src":"7249:6:158"},{"arguments":[{"kind":"number","nativeSrc":"7261:2:158","nodeType":"YulLiteral","src":"7261:2:158","type":"","value":"32"},{"arguments":[{"kind":"number","nativeSrc":"7269:2:158","nodeType":"YulLiteral","src":"7269:2:158","type":"","value":"32"},{"name":"i","nativeSrc":"7273:1:158","nodeType":"YulIdentifier","src":"7273:1:158"}],"functionName":{"name":"mul","nativeSrc":"7265:3:158","nodeType":"YulIdentifier","src":"7265:3:158"},"nativeSrc":"7265:10:158","nodeType":"YulFunctionCall","src":"7265:10:158"}],"functionName":{"name":"add","nativeSrc":"7257:3:158","nodeType":"YulIdentifier","src":"7257:3:158"},"nativeSrc":"7257:19:158","nodeType":"YulFunctionCall","src":"7257:19:158"}],"functionName":{"name":"add","nativeSrc":"7245:3:158","nodeType":"YulIdentifier","src":"7245:3:158"},"nativeSrc":"7245:32:158","nodeType":"YulFunctionCall","src":"7245:32:158"},{"name":"k","nativeSrc":"7279:1:158","nodeType":"YulIdentifier","src":"7279:1:158"}],"functionName":{"name":"mstore","nativeSrc":"7238:6:158","nodeType":"YulIdentifier","src":"7238:6:158"},"nativeSrc":"7238:43:158","nodeType":"YulFunctionCall","src":"7238:43:158"},"nativeSrc":"7238:43:158","nodeType":"YulExpressionStatement","src":"7238:43:158"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":67164,"isOffset":false,"isSlot":false,"src":"7273:1:158","valueSize":1},{"declaration":67175,"isOffset":false,"isSlot":false,"src":"7279:1:158","valueSize":1},{"declaration":67154,"isOffset":false,"isSlot":false,"src":"7249:6:158","valueSize":1}],"id":67180,"nodeType":"InlineAssembly","src":"7211:84:158"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67167,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67164,"src":"7101:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67168,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67148,"src":"7105:1:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7107:6:158","memberName":"length","nodeType":"MemberAccess","src":"7105:8:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7101:12:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67182,"initializationExpression":{"assignments":[67164],"declarations":[{"constant":false,"id":67164,"mutability":"mutable","name":"i","nameLocation":"7094:1:158","nodeType":"VariableDeclaration","scope":67182,"src":"7086:9:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67163,"name":"uint256","nodeType":"ElementaryTypeName","src":"7086:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67166,"initialValue":{"hexValue":"30","id":67165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7098:1:158","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7086:13:158"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":67172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7115:3:158","subExpression":{"id":67171,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67164,"src":"7115:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67173,"nodeType":"ExpressionStatement","src":"7115:3:158"},"nodeType":"ForStatement","src":"7081:224:158"},{"expression":{"id":67183,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67154,"src":"7322:6:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":67152,"id":67184,"nodeType":"Return","src":"7315:13:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"flatten","nameLocation":"6951:7:158","parameters":{"id":67149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67148,"mutability":"mutable","name":"b","nameLocation":"6976:1:158","nodeType":"VariableDeclaration","scope":67186,"src":"6959:18:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":67146,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6959:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67147,"nodeType":"ArrayTypeName","src":"6959:9:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"6958:20:158"},"returnParameters":{"id":67152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67151,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67186,"src":"7001:12:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67150,"name":"bytes","nodeType":"ElementaryTypeName","src":"7001:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7000:14:158"},"scope":67187,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorageSafe","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[67187],"name":"stdStorageSafe","nameLocation":"376:14:158","scope":67729,"usedErrors":[],"usedEvents":[66305,66311]},{"id":67728,"nodeType":"ContractDefinition","src":"7339:4527:158","nodes":[{"id":67204,"nodeType":"VariableDeclaration","src":"7364:84:158","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"7384:2:158","scope":67728,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"},"typeName":{"id":67189,"nodeType":"UserDefinedTypeName","pathNode":{"id":67188,"name":"Vm","nameLocations":["7364:2:158"],"nodeType":"IdentifierPath","referencedDeclaration":69872,"src":"7364:2:158"},"referencedDeclaration":69872,"src":"7364:2:158","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":67198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7426:17:158","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":67197,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7416:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7416:28:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7408:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67195,"name":"uint256","nodeType":"ElementaryTypeName","src":"7408:7:158","typeDescriptions":{}}},"id":67200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7408:37:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7400:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":67193,"name":"uint160","nodeType":"ElementaryTypeName","src":"7400:7:158","typeDescriptions":{}}},"id":67201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7400:46:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":67192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7392:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67191,"name":"address","nodeType":"ElementaryTypeName","src":"7392:7:158","typeDescriptions":{}}},"id":67202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7392:55:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67190,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69872,"src":"7389:2:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$69872_$","typeString":"type(contract Vm)"}},"id":67203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7389:59:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"visibility":"private"},{"id":67217,"nodeType":"FunctionDefinition","src":"7455:118:158","nodes":[],"body":{"id":67216,"nodeType":"Block","src":"7522:51:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67213,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67206,"src":"7559:6:158","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":67211,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"7539:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7554:4:158","memberName":"sigs","nodeType":"MemberAccess","referencedDeclaration":66346,"src":"7539:19:158","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":67214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7539:27:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":67210,"id":67215,"nodeType":"Return","src":"7532:34:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"7464:4:158","parameters":{"id":67207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67206,"mutability":"mutable","name":"sigStr","nameLocation":"7483:6:158","nodeType":"VariableDeclaration","scope":67217,"src":"7469:20:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67205,"name":"string","nodeType":"ElementaryTypeName","src":"7469:6:158","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7468:22:158"},"returnParameters":{"id":67210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67209,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67217,"src":"7514:6:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":67208,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7514:6:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"7513:8:158"},"scope":67728,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":67231,"nodeType":"FunctionDefinition","src":"7579:115:158","nodes":[],"body":{"id":67230,"nodeType":"Block","src":"7645:49:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67227,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67220,"src":"7682:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":67225,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"7662:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7677:4:158","memberName":"find","nodeType":"MemberAccess","referencedDeclaration":66790,"src":"7662:19:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":67228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7662:25:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67224,"id":67229,"nodeType":"Return","src":"7655:32:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"7588:4:158","parameters":{"id":67221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67220,"mutability":"mutable","name":"self","nameLocation":"7612:4:158","nodeType":"VariableDeclaration","scope":67231,"src":"7593:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67219,"nodeType":"UserDefinedTypeName","pathNode":{"id":67218,"name":"StdStorage","nameLocations":["7593:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"7593:10:158"},"referencedDeclaration":66295,"src":"7593:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7592:25:158"},"returnParameters":{"id":67224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67223,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67231,"src":"7636:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67222,"name":"uint256","nodeType":"ElementaryTypeName","src":"7636:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7635:9:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67249,"nodeType":"FunctionDefinition","src":"7700:156:158","nodes":[],"body":{"id":67248,"nodeType":"Block","src":"7796:60:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67244,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67234,"src":"7835:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":67245,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67236,"src":"7841:7:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67242,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"7813:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7828:6:158","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":66810,"src":"7813:21:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$66295_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":67246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7813:36:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":67241,"id":67247,"nodeType":"Return","src":"7806:43:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"7709:6:158","parameters":{"id":67237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67234,"mutability":"mutable","name":"self","nameLocation":"7735:4:158","nodeType":"VariableDeclaration","scope":67249,"src":"7716:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67233,"nodeType":"UserDefinedTypeName","pathNode":{"id":67232,"name":"StdStorage","nameLocations":["7716:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"7716:10:158"},"referencedDeclaration":66295,"src":"7716:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":67236,"mutability":"mutable","name":"_target","nameLocation":"7749:7:158","nodeType":"VariableDeclaration","scope":67249,"src":"7741:15:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67235,"name":"address","nodeType":"ElementaryTypeName","src":"7741:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7715:42:158"},"returnParameters":{"id":67241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67240,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67249,"src":"7776:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67239,"nodeType":"UserDefinedTypeName","pathNode":{"id":67238,"name":"StdStorage","nameLocations":["7776:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"7776:10:158"},"referencedDeclaration":66295,"src":"7776:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7775:20:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67267,"nodeType":"FunctionDefinition","src":"7862:143:158","nodes":[],"body":{"id":67266,"nodeType":"Block","src":"7951:54:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67262,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67252,"src":"7987:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":67263,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67254,"src":"7993:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":67260,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"7968:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7983:3:158","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":66830,"src":"7968:18:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$66295_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":67264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:30:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":67259,"id":67265,"nodeType":"Return","src":"7961:37:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"7871:3:158","parameters":{"id":67255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67252,"mutability":"mutable","name":"self","nameLocation":"7894:4:158","nodeType":"VariableDeclaration","scope":67267,"src":"7875:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67251,"nodeType":"UserDefinedTypeName","pathNode":{"id":67250,"name":"StdStorage","nameLocations":["7875:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"7875:10:158"},"referencedDeclaration":66295,"src":"7875:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":67254,"mutability":"mutable","name":"_sig","nameLocation":"7907:4:158","nodeType":"VariableDeclaration","scope":67267,"src":"7900:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":67253,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7900:6:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"7874:38:158"},"returnParameters":{"id":67259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67267,"src":"7931:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67257,"nodeType":"UserDefinedTypeName","pathNode":{"id":67256,"name":"StdStorage","nameLocations":["7931:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"7931:10:158"},"referencedDeclaration":66295,"src":"7931:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7930:20:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67285,"nodeType":"FunctionDefinition","src":"8011:150:158","nodes":[],"body":{"id":67284,"nodeType":"Block","src":"8107:54:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67280,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67270,"src":"8143:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":67281,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67272,"src":"8149:4:158","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":67278,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"8124:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8139:3:158","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":66852,"src":"8124:18:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$_t_string_memory_ptr_$returns$_t_struct$_StdStorage_$66295_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,string memory) returns (struct StdStorage storage pointer)"}},"id":67282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8124:30:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":67277,"id":67283,"nodeType":"Return","src":"8117:37:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"8020:3:158","parameters":{"id":67273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67270,"mutability":"mutable","name":"self","nameLocation":"8043:4:158","nodeType":"VariableDeclaration","scope":67285,"src":"8024:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67269,"nodeType":"UserDefinedTypeName","pathNode":{"id":67268,"name":"StdStorage","nameLocations":["8024:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"8024:10:158"},"referencedDeclaration":66295,"src":"8024:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":67272,"mutability":"mutable","name":"_sig","nameLocation":"8063:4:158","nodeType":"VariableDeclaration","scope":67285,"src":"8049:18:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67271,"name":"string","nodeType":"ElementaryTypeName","src":"8049:6:158","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8023:45:158"},"returnParameters":{"id":67277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67276,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67285,"src":"8087:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67275,"nodeType":"UserDefinedTypeName","pathNode":{"id":67274,"name":"StdStorage","nameLocations":["8087:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"8087:10:158"},"referencedDeclaration":66295,"src":"8087:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8086:20:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67303,"nodeType":"FunctionDefinition","src":"8167:152:158","nodes":[],"body":{"id":67302,"nodeType":"Block","src":"8261:58:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67298,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67288,"src":"8302:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":67299,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67290,"src":"8308:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67296,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"8278:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8293:8:158","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":66883,"src":"8278:23:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$66295_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":67300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8278:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":67295,"id":67301,"nodeType":"Return","src":"8271:41:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"8176:8:158","parameters":{"id":67291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67288,"mutability":"mutable","name":"self","nameLocation":"8204:4:158","nodeType":"VariableDeclaration","scope":67303,"src":"8185:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67287,"nodeType":"UserDefinedTypeName","pathNode":{"id":67286,"name":"StdStorage","nameLocations":["8185:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"8185:10:158"},"referencedDeclaration":66295,"src":"8185:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":67290,"mutability":"mutable","name":"who","nameLocation":"8218:3:158","nodeType":"VariableDeclaration","scope":67303,"src":"8210:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67289,"name":"address","nodeType":"ElementaryTypeName","src":"8210:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8184:38:158"},"returnParameters":{"id":67295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67294,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67303,"src":"8241:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67293,"nodeType":"UserDefinedTypeName","pathNode":{"id":67292,"name":"StdStorage","nameLocations":["8241:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"8241:10:158"},"referencedDeclaration":66295,"src":"8241:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8240:20:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67321,"nodeType":"FunctionDefinition","src":"8325:152:158","nodes":[],"body":{"id":67320,"nodeType":"Block","src":"8419:58:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67316,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67306,"src":"8460:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":67317,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67308,"src":"8466:3:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67314,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"8436:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8451:8:158","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":66908,"src":"8436:23:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$66295_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":67318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8436:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":67313,"id":67319,"nodeType":"Return","src":"8429:41:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"8334:8:158","parameters":{"id":67309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67306,"mutability":"mutable","name":"self","nameLocation":"8362:4:158","nodeType":"VariableDeclaration","scope":67321,"src":"8343:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67305,"nodeType":"UserDefinedTypeName","pathNode":{"id":67304,"name":"StdStorage","nameLocations":["8343:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"8343:10:158"},"referencedDeclaration":66295,"src":"8343:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":67308,"mutability":"mutable","name":"amt","nameLocation":"8376:3:158","nodeType":"VariableDeclaration","scope":67321,"src":"8368:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67307,"name":"uint256","nodeType":"ElementaryTypeName","src":"8368:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8342:38:158"},"returnParameters":{"id":67313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67312,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67321,"src":"8399:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67311,"nodeType":"UserDefinedTypeName","pathNode":{"id":67310,"name":"StdStorage","nameLocations":["8399:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"8399:10:158"},"referencedDeclaration":66295,"src":"8399:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8398:20:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67339,"nodeType":"FunctionDefinition","src":"8483:152:158","nodes":[],"body":{"id":67338,"nodeType":"Block","src":"8577:58:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67334,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67324,"src":"8618:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":67335,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67326,"src":"8624:3:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67332,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"8594:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8609:8:158","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":66930,"src":"8594:23:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$_t_bytes32_$returns$_t_struct$_StdStorage_$66295_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (struct StdStorage storage pointer)"}},"id":67336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8594:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":67331,"id":67337,"nodeType":"Return","src":"8587:41:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"8492:8:158","parameters":{"id":67327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67324,"mutability":"mutable","name":"self","nameLocation":"8520:4:158","nodeType":"VariableDeclaration","scope":67339,"src":"8501:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67323,"nodeType":"UserDefinedTypeName","pathNode":{"id":67322,"name":"StdStorage","nameLocations":["8501:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"8501:10:158"},"referencedDeclaration":66295,"src":"8501:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":67326,"mutability":"mutable","name":"key","nameLocation":"8534:3:158","nodeType":"VariableDeclaration","scope":67339,"src":"8526:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8526:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8500:38:158"},"returnParameters":{"id":67331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67330,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67339,"src":"8557:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67329,"nodeType":"UserDefinedTypeName","pathNode":{"id":67328,"name":"StdStorage","nameLocations":["8557:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"8557:10:158"},"referencedDeclaration":66295,"src":"8557:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8556:20:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67357,"nodeType":"FunctionDefinition","src":"8641:152:158","nodes":[],"body":{"id":67356,"nodeType":"Block","src":"8735:58:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67352,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67342,"src":"8773:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":67353,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67344,"src":"8779:6:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67350,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"8752:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8767:5:158","memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":66950,"src":"8752:20:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$66295_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":67354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8752:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":67349,"id":67355,"nodeType":"Return","src":"8745:41:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"8650:5:158","parameters":{"id":67345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67342,"mutability":"mutable","name":"self","nameLocation":"8675:4:158","nodeType":"VariableDeclaration","scope":67357,"src":"8656:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67341,"nodeType":"UserDefinedTypeName","pathNode":{"id":67340,"name":"StdStorage","nameLocations":["8656:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"8656:10:158"},"referencedDeclaration":66295,"src":"8656:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":67344,"mutability":"mutable","name":"_depth","nameLocation":"8689:6:158","nodeType":"VariableDeclaration","scope":67357,"src":"8681:14:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67343,"name":"uint256","nodeType":"ElementaryTypeName","src":"8681:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8655:41:158"},"returnParameters":{"id":67349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67348,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67357,"src":"8715:18:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67347,"nodeType":"UserDefinedTypeName","pathNode":{"id":67346,"name":"StdStorage","nameLocations":["8715:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"8715:10:158"},"referencedDeclaration":66295,"src":"8715:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8714:20:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67380,"nodeType":"FunctionDefinition","src":"8799:138:158","nodes":[],"body":{"id":67379,"nodeType":"Block","src":"8869:68:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67366,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67360,"src":"8893:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"arguments":[{"id":67373,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67362,"src":"8923:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8915:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":67371,"name":"uint160","nodeType":"ElementaryTypeName","src":"8915:7:158","typeDescriptions":{}}},"id":67374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8915:12:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":67370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8907:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67369,"name":"uint256","nodeType":"ElementaryTypeName","src":"8907:7:158","typeDescriptions":{}}},"id":67375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8907:21:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8899:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":67367,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8899:7:158","typeDescriptions":{}}},"id":67376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8899:30:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67365,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[67380,67397,67415,67560],"referencedDeclaration":67560,"src":"8879:13:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":67377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8879:51:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67378,"nodeType":"ExpressionStatement","src":"8879:51:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"8808:13:158","parameters":{"id":67363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67360,"mutability":"mutable","name":"self","nameLocation":"8841:4:158","nodeType":"VariableDeclaration","scope":67380,"src":"8822:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67359,"nodeType":"UserDefinedTypeName","pathNode":{"id":67358,"name":"StdStorage","nameLocations":["8822:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"8822:10:158"},"referencedDeclaration":66295,"src":"8822:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":67362,"mutability":"mutable","name":"who","nameLocation":"8855:3:158","nodeType":"VariableDeclaration","scope":67380,"src":"8847:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67361,"name":"address","nodeType":"ElementaryTypeName","src":"8847:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8821:38:158"},"returnParameters":{"id":67364,"nodeType":"ParameterList","parameters":[],"src":"8869:0:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67397,"nodeType":"FunctionDefinition","src":"8943:120:158","nodes":[],"body":{"id":67396,"nodeType":"Block","src":"9013:50:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67389,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67383,"src":"9037:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"id":67392,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67385,"src":"9051:3:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9043:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":67390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9043:7:158","typeDescriptions":{}}},"id":67393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9043:12:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67388,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[67380,67397,67415,67560],"referencedDeclaration":67560,"src":"9023:13:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":67394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9023:33:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67395,"nodeType":"ExpressionStatement","src":"9023:33:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"8952:13:158","parameters":{"id":67386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67383,"mutability":"mutable","name":"self","nameLocation":"8985:4:158","nodeType":"VariableDeclaration","scope":67397,"src":"8966:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67382,"nodeType":"UserDefinedTypeName","pathNode":{"id":67381,"name":"StdStorage","nameLocations":["8966:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"8966:10:158"},"referencedDeclaration":66295,"src":"8966:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":67385,"mutability":"mutable","name":"amt","nameLocation":"8999:3:158","nodeType":"VariableDeclaration","scope":67397,"src":"8991:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67384,"name":"uint256","nodeType":"ElementaryTypeName","src":"8991:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8965:38:158"},"returnParameters":{"id":67387,"nodeType":"ParameterList","parameters":[],"src":"9013:0:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67415,"nodeType":"FunctionDefinition","src":"9069:222:158","nodes":[],"body":{"id":67414,"nodeType":"Block","src":"9138:153:158","nodes":[],"statements":[{"assignments":[67406],"declarations":[{"constant":false,"id":67406,"mutability":"mutable","name":"t","nameLocation":"9156:1:158","nodeType":"VariableDeclaration","scope":67414,"src":"9148:9:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67405,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9148:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67407,"nodeType":"VariableDeclarationStatement","src":"9148:9:158"},{"AST":{"nativeSrc":"9219:34:158","nodeType":"YulBlock","src":"9219:34:158","statements":[{"nativeSrc":"9233:10:158","nodeType":"YulAssignment","src":"9233:10:158","value":{"name":"write","nativeSrc":"9238:5:158","nodeType":"YulIdentifier","src":"9238:5:158"},"variableNames":[{"name":"t","nativeSrc":"9233:1:158","nodeType":"YulIdentifier","src":"9233:1:158"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":67406,"isOffset":false,"isSlot":false,"src":"9233:1:158","valueSize":1},{"declaration":67402,"isOffset":false,"isSlot":false,"src":"9238:5:158","valueSize":1}],"id":67408,"nodeType":"InlineAssembly","src":"9210:43:158"},{"expression":{"arguments":[{"id":67410,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67400,"src":"9276:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":67411,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67406,"src":"9282:1:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67409,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[67380,67397,67415,67560],"referencedDeclaration":67560,"src":"9262:13:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":67412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9262:22:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67413,"nodeType":"ExpressionStatement","src":"9262:22:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"9078:13:158","parameters":{"id":67403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67400,"mutability":"mutable","name":"self","nameLocation":"9111:4:158","nodeType":"VariableDeclaration","scope":67415,"src":"9092:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67399,"nodeType":"UserDefinedTypeName","pathNode":{"id":67398,"name":"StdStorage","nameLocations":["9092:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"9092:10:158"},"referencedDeclaration":66295,"src":"9092:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":67402,"mutability":"mutable","name":"write","nameLocation":"9122:5:158","nodeType":"VariableDeclaration","scope":67415,"src":"9117:10:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67401,"name":"bool","nodeType":"ElementaryTypeName","src":"9117:4:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9091:37:158"},"returnParameters":{"id":67404,"nodeType":"ParameterList","parameters":[],"src":"9138:0:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67560,"nodeType":"FunctionDefinition","src":"9297:1095:158","nodes":[],"body":{"id":67559,"nodeType":"Block","src":"9367:1025:158","nodes":[],"statements":[{"assignments":[67424],"declarations":[{"constant":false,"id":67424,"mutability":"mutable","name":"who","nameLocation":"9385:3:158","nodeType":"VariableDeclaration","scope":67559,"src":"9377:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67423,"name":"address","nodeType":"ElementaryTypeName","src":"9377:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":67427,"initialValue":{"expression":{"id":67425,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"9391:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":67426,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9396:7:158","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":66292,"src":"9391:12:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9377:26:158"},{"assignments":[67429],"declarations":[{"constant":false,"id":67429,"mutability":"mutable","name":"fsig","nameLocation":"9420:4:158","nodeType":"VariableDeclaration","scope":67559,"src":"9413:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":67428,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9413:6:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":67432,"initialValue":{"expression":{"id":67430,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"9427:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":67431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9432:4:158","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":66288,"src":"9427:9:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"9413:23:158"},{"assignments":[67434],"declarations":[{"constant":false,"id":67434,"mutability":"mutable","name":"field_depth","nameLocation":"9454:11:158","nodeType":"VariableDeclaration","scope":67559,"src":"9446:19:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67433,"name":"uint256","nodeType":"ElementaryTypeName","src":"9446:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67437,"initialValue":{"expression":{"id":67435,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"9468:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":67436,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9473:6:158","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":66290,"src":"9468:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9446:33:158"},{"assignments":[67442],"declarations":[{"constant":false,"id":67442,"mutability":"mutable","name":"ins","nameLocation":"9506:3:158","nodeType":"VariableDeclaration","scope":67559,"src":"9489:20:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":67440,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9489:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67441,"nodeType":"ArrayTypeName","src":"9489:9:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":67445,"initialValue":{"expression":{"id":67443,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"9512:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":67444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9517:5:158","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":66286,"src":"9512:10:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9489:33:158"},{"assignments":[67447],"declarations":[{"constant":false,"id":67447,"mutability":"mutable","name":"cald","nameLocation":"9546:4:158","nodeType":"VariableDeclaration","scope":67559,"src":"9533:17:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67446,"name":"bytes","nodeType":"ElementaryTypeName","src":"9533:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":67455,"initialValue":{"arguments":[{"id":67450,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67429,"src":"9570:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":67452,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67442,"src":"9584:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"id":67451,"name":"flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67727,"src":"9576:7:158","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory) pure returns (bytes memory)"}},"id":67453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9576:12:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":67448,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9553:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9557:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"9553:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":67454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9553:36:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9533:56:158"},{"condition":{"id":67470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9603:69:158","subExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":67456,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"9604:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":67457,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9609:5:158","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":66283,"src":"9604:10:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":67459,"indexExpression":{"id":67458,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67424,"src":"9615:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9604:15:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":67461,"indexExpression":{"id":67460,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67429,"src":"9620:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9604:21:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":67469,"indexExpression":{"arguments":[{"arguments":[{"id":67465,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67442,"src":"9653:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":67466,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67434,"src":"9658:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67463,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9636:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9640:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"9636:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":67467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9636:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":67462,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9626:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9626:45:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9604:68:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67476,"nodeType":"IfStatement","src":"9599:110:158","trueBody":{"id":67475,"nodeType":"Block","src":"9674:35:158","statements":[{"expression":{"arguments":[{"id":67472,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"9693:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":67471,"name":"find","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67231,"src":"9688:4:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":67473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9688:10:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67474,"nodeType":"ExpressionStatement","src":"9688:10:158"}]}},{"assignments":[67478],"declarations":[{"constant":false,"id":67478,"mutability":"mutable","name":"slot","nameLocation":"9726:4:158","nodeType":"VariableDeclaration","scope":67559,"src":"9718:12:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67477,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9718:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67496,"initialValue":{"arguments":[{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":67481,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"9741:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":67482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9746:5:158","memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":66275,"src":"9741:10:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":67484,"indexExpression":{"id":67483,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67424,"src":"9752:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9741:15:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":67486,"indexExpression":{"id":67485,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67429,"src":"9757:4:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9741:21:158","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":67494,"indexExpression":{"arguments":[{"arguments":[{"id":67490,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67442,"src":"9790:3:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":67491,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67434,"src":"9795:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67488,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9773:3:158","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":67489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9777:12:158","memberName":"encodePacked","nodeType":"MemberAccess","src":"9773:16:158","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":67492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9773:34:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":67487,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9763:9:158","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9763:45:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9741:68:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9733:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":67479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9733:7:158","typeDescriptions":{}}},"id":67495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9733:77:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9718:92:158"},{"assignments":[67498],"declarations":[{"constant":false,"id":67498,"mutability":"mutable","name":"fdat","nameLocation":"9829:4:158","nodeType":"VariableDeclaration","scope":67559,"src":"9821:12:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67497,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9821:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67499,"nodeType":"VariableDeclarationStatement","src":"9821:12:158"},{"id":67516,"nodeType":"Block","src":"9843:128:158","statements":[{"assignments":[null,67501],"declarations":[null,{"constant":false,"id":67501,"mutability":"mutable","name":"rdat","nameLocation":"9873:4:158","nodeType":"VariableDeclaration","scope":67516,"src":"9860:17:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67500,"name":"bytes","nodeType":"ElementaryTypeName","src":"9860:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":67506,"initialValue":{"arguments":[{"id":67504,"name":"cald","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67447,"src":"9896:4:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":67502,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67424,"src":"9881:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9885:10:158","memberName":"staticcall","nodeType":"MemberAccess","src":"9881:14:158","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":67505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9881:20:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9857:44:158"},{"expression":{"id":67514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67507,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67498,"src":"9915:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67509,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67501,"src":"9937:4:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":67510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9943:2:158","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":67511,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67434,"src":"9948:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9943:16:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67508,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67686,"src":"9922:14:158","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":67513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9922:38:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9915:45:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67515,"nodeType":"ExpressionStatement","src":"9915:45:158"}]},{"assignments":[67518],"declarations":[{"constant":false,"id":67518,"mutability":"mutable","name":"curr","nameLocation":"9988:4:158","nodeType":"VariableDeclaration","scope":67559,"src":"9980:12:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9980:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67524,"initialValue":{"arguments":[{"id":67521,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67424,"src":"10003:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67522,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67478,"src":"10008:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67519,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67204,"src":"9995:2:158","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":67520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9998:4:158","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":68622,"src":"9995:7:158","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":67523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9995:18:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9980:33:158"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":67527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67525,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67498,"src":"10028:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":67526,"name":"curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67518,"src":"10036:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10028:12:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67534,"nodeType":"IfStatement","src":"10024:218:158","trueBody":{"id":67533,"nodeType":"Block","src":"10042:200:158","statements":[{"expression":{"arguments":[{"hexValue":"66616c7365","id":67529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10081:5:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e","id":67530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10104:113:158","typeDescriptions":{"typeIdentifier":"t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\""},"value":"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\""}],"id":67528,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10056:7:158","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":67531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10056:175:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67532,"nodeType":"ExpressionStatement","src":"10056:175:158"}]}},{"expression":{"arguments":[{"id":67538,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67424,"src":"10260:3:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":67539,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67478,"src":"10265:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":67540,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67420,"src":"10271:3:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67535,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67204,"src":"10251:2:158","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":67537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10254:5:158","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":69583,"src":"10251:8:158","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":67541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10251:24:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67542,"nodeType":"ExpressionStatement","src":"10251:24:158"},{"expression":{"id":67545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10285:19:158","subExpression":{"expression":{"id":67543,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"10292:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":67544,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10297:7:158","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":66292,"src":"10292:12:158","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67546,"nodeType":"ExpressionStatement","src":"10285:19:158"},{"expression":{"id":67549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10314:16:158","subExpression":{"expression":{"id":67547,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"10321:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":67548,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10326:4:158","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":66288,"src":"10321:9:158","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67550,"nodeType":"ExpressionStatement","src":"10314:16:158"},{"expression":{"id":67553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10340:17:158","subExpression":{"expression":{"id":67551,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"10347:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":67552,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10352:5:158","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":66286,"src":"10347:10:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67554,"nodeType":"ExpressionStatement","src":"10340:17:158"},{"expression":{"id":67557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10367:18:158","subExpression":{"expression":{"id":67555,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67418,"src":"10374:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":67556,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"10379:6:158","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":66290,"src":"10374:11:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67558,"nodeType":"ExpressionStatement","src":"10367:18:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"9306:13:158","parameters":{"id":67421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67418,"mutability":"mutable","name":"self","nameLocation":"9339:4:158","nodeType":"VariableDeclaration","scope":67560,"src":"9320:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67417,"nodeType":"UserDefinedTypeName","pathNode":{"id":67416,"name":"StdStorage","nameLocations":["9320:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"9320:10:158"},"referencedDeclaration":66295,"src":"9320:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":67420,"mutability":"mutable","name":"set","nameLocation":"9353:3:158","nodeType":"VariableDeclaration","scope":67560,"src":"9345:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67419,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9345:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9319:38:158"},"returnParameters":{"id":67422,"nodeType":"ParameterList","parameters":[],"src":"9367:0:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67574,"nodeType":"FunctionDefinition","src":"10398:131:158","nodes":[],"body":{"id":67573,"nodeType":"Block","src":"10472:57:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67570,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67563,"src":"10517:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":67568,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"10489:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10504:12:158","memberName":"read_bytes32","nodeType":"MemberAccess","referencedDeclaration":67001,"src":"10489:27:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (bytes32)"}},"id":67571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10489:33:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":67567,"id":67572,"nodeType":"Return","src":"10482:40:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"10407:12:158","parameters":{"id":67564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67563,"mutability":"mutable","name":"self","nameLocation":"10439:4:158","nodeType":"VariableDeclaration","scope":67574,"src":"10420:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67562,"nodeType":"UserDefinedTypeName","pathNode":{"id":67561,"name":"StdStorage","nameLocations":["10420:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"10420:10:158"},"referencedDeclaration":66295,"src":"10420:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10419:25:158"},"returnParameters":{"id":67567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67574,"src":"10463:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10463:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10462:9:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67588,"nodeType":"FunctionDefinition","src":"10535:122:158","nodes":[],"body":{"id":67587,"nodeType":"Block","src":"10603:54:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67584,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67577,"src":"10645:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":67582,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"10620:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10635:9:158","memberName":"read_bool","nodeType":"MemberAccess","referencedDeclaration":67032,"src":"10620:24:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer) returns (bool)"}},"id":67585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10620:30:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":67581,"id":67586,"nodeType":"Return","src":"10613:37:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"10544:9:158","parameters":{"id":67578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67577,"mutability":"mutable","name":"self","nameLocation":"10573:4:158","nodeType":"VariableDeclaration","scope":67588,"src":"10554:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67576,"nodeType":"UserDefinedTypeName","pathNode":{"id":67575,"name":"StdStorage","nameLocations":["10554:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"10554:10:158"},"referencedDeclaration":66295,"src":"10554:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10553:25:158"},"returnParameters":{"id":67581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67580,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67588,"src":"10597:4:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":67579,"name":"bool","nodeType":"ElementaryTypeName","src":"10597:4:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10596:6:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67602,"nodeType":"FunctionDefinition","src":"10663:131:158","nodes":[],"body":{"id":67601,"nodeType":"Block","src":"10737:57:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67598,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67591,"src":"10782:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":67596,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"10754:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10769:12:158","memberName":"read_address","nodeType":"MemberAccess","referencedDeclaration":67051,"src":"10754:27:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_address_$","typeString":"function (struct StdStorage storage pointer) returns (address)"}},"id":67599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10754:33:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":67595,"id":67600,"nodeType":"Return","src":"10747:40:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"10672:12:158","parameters":{"id":67592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67591,"mutability":"mutable","name":"self","nameLocation":"10704:4:158","nodeType":"VariableDeclaration","scope":67602,"src":"10685:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67590,"nodeType":"UserDefinedTypeName","pathNode":{"id":67589,"name":"StdStorage","nameLocations":["10685:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"10685:10:158"},"referencedDeclaration":66295,"src":"10685:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10684:25:158"},"returnParameters":{"id":67595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67594,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67602,"src":"10728:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67593,"name":"address","nodeType":"ElementaryTypeName","src":"10728:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10727:9:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67616,"nodeType":"FunctionDefinition","src":"10800:125:158","nodes":[],"body":{"id":67615,"nodeType":"Block","src":"10871:54:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67612,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67605,"src":"10913:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":67610,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"10888:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10903:9:158","memberName":"read_uint","nodeType":"MemberAccess","referencedDeclaration":67070,"src":"10888:24:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":67613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10888:30:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":67609,"id":67614,"nodeType":"Return","src":"10881:37:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"10809:9:158","parameters":{"id":67606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67605,"mutability":"mutable","name":"self","nameLocation":"10838:4:158","nodeType":"VariableDeclaration","scope":67616,"src":"10819:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67604,"nodeType":"UserDefinedTypeName","pathNode":{"id":67603,"name":"StdStorage","nameLocations":["10819:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"10819:10:158"},"referencedDeclaration":66295,"src":"10819:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10818:25:158"},"returnParameters":{"id":67609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67608,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67616,"src":"10862:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67607,"name":"uint256","nodeType":"ElementaryTypeName","src":"10862:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10861:9:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67630,"nodeType":"FunctionDefinition","src":"10931:122:158","nodes":[],"body":{"id":67629,"nodeType":"Block","src":"11000:53:158","nodes":[],"statements":[{"expression":{"arguments":[{"id":67626,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67619,"src":"11041:4:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":67624,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67187,"src":"11017:14:158","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$67187_$","typeString":"type(library stdStorageSafe)"}},"id":67625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11032:8:158","memberName":"read_int","nodeType":"MemberAccess","referencedDeclaration":67089,"src":"11017:23:158","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$66295_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":67627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11017:29:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":67623,"id":67628,"nodeType":"Return","src":"11010:36:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"10940:8:158","parameters":{"id":67620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67619,"mutability":"mutable","name":"self","nameLocation":"10968:4:158","nodeType":"VariableDeclaration","scope":67630,"src":"10949:23:158","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":67618,"nodeType":"UserDefinedTypeName","pathNode":{"id":67617,"name":"StdStorage","nameLocations":["10949:10:158"],"nodeType":"IdentifierPath","referencedDeclaration":66295,"src":"10949:10:158"},"referencedDeclaration":66295,"src":"10949:10:158","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$66295_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10948:25:158"},"returnParameters":{"id":67623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67630,"src":"10992:6:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":67621,"name":"int256","nodeType":"ElementaryTypeName","src":"10992:6:158","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"10991:8:158"},"scope":67728,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67686,"nodeType":"FunctionDefinition","src":"11110:304:158","nodes":[],"body":{"id":67685,"nodeType":"Block","src":"11197:217:158","nodes":[],"statements":[{"assignments":[67640],"declarations":[{"constant":false,"id":67640,"mutability":"mutable","name":"out","nameLocation":"11215:3:158","nodeType":"VariableDeclaration","scope":67685,"src":"11207:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11207:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67641,"nodeType":"VariableDeclarationStatement","src":"11207:11:158"},{"assignments":[67643],"declarations":[{"constant":false,"id":67643,"mutability":"mutable","name":"max","nameLocation":"11237:3:158","nodeType":"VariableDeclaration","scope":67685,"src":"11229:11:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67642,"name":"uint256","nodeType":"ElementaryTypeName","src":"11229:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67652,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67644,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67632,"src":"11243:1:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11245:6:158","memberName":"length","nodeType":"MemberAccess","src":"11243:8:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":67646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11254:2:158","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11243:13:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":67649,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67632,"src":"11264:1:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11266:6:158","memberName":"length","nodeType":"MemberAccess","src":"11264:8:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11243:29:158","trueExpression":{"hexValue":"3332","id":67648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11259:2:158","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11229:43:158"},{"body":{"id":67681,"nodeType":"Block","src":"11316:72:158","statements":[{"expression":{"id":67679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67663,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67640,"src":"11330:3:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":67678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":67672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":67666,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67632,"src":"11345:1:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67670,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67667,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67634,"src":"11347:6:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":67668,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67654,"src":"11356:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11347:10:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11345:13:158","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":67671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11361:4:158","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"11345:20:158","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":67665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11337:7:158","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":67664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11337:7:158","typeDescriptions":{}}},"id":67673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11337:29:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67674,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67654,"src":"11371:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":67675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11375:1:158","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11371:5:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67677,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11370:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11337:40:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11330:47:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67680,"nodeType":"ExpressionStatement","src":"11330:47:158"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67657,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67654,"src":"11302:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":67658,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67643,"src":"11306:3:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11302:7:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67682,"initializationExpression":{"assignments":[67654],"declarations":[{"constant":false,"id":67654,"mutability":"mutable","name":"i","nameLocation":"11295:1:158","nodeType":"VariableDeclaration","scope":67682,"src":"11287:9:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67653,"name":"uint256","nodeType":"ElementaryTypeName","src":"11287:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67656,"initialValue":{"hexValue":"30","id":67655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11299:1:158","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11287:13:158"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":67661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11311:3:158","subExpression":{"id":67660,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67654,"src":"11311:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67662,"nodeType":"ExpressionStatement","src":"11311:3:158"},"nodeType":"ForStatement","src":"11282:106:158"},{"expression":{"id":67683,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67640,"src":"11404:3:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":67638,"id":67684,"nodeType":"Return","src":"11397:10:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToBytes32","nameLocation":"11119:14:158","parameters":{"id":67635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67632,"mutability":"mutable","name":"b","nameLocation":"11147:1:158","nodeType":"VariableDeclaration","scope":67686,"src":"11134:14:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67631,"name":"bytes","nodeType":"ElementaryTypeName","src":"11134:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":67634,"mutability":"mutable","name":"offset","nameLocation":"11158:6:158","nodeType":"VariableDeclaration","scope":67686,"src":"11150:14:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67633,"name":"uint256","nodeType":"ElementaryTypeName","src":"11150:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11133:32:158"},"returnParameters":{"id":67638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67637,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67686,"src":"11188:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11188:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11187:9:158"},"scope":67728,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":67727,"nodeType":"FunctionDefinition","src":"11471:393:158","nodes":[],"body":{"id":67726,"nodeType":"Block","src":"11544:320:158","nodes":[],"statements":[{"assignments":[67695],"declarations":[{"constant":false,"id":67695,"mutability":"mutable","name":"result","nameLocation":"11567:6:158","nodeType":"VariableDeclaration","scope":67726,"src":"11554:19:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67694,"name":"bytes","nodeType":"ElementaryTypeName","src":"11554:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":67703,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67698,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67689,"src":"11586:1:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11588:6:158","memberName":"length","nodeType":"MemberAccess","src":"11586:8:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3332","id":67700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11597:2:158","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11586:13:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11576:9:158","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":67696,"name":"bytes","nodeType":"ElementaryTypeName","src":"11580:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":67702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11576:24:158","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11554:46:158"},{"body":{"id":67722,"nodeType":"Block","src":"11649:185:158","statements":[{"assignments":[67716],"declarations":[{"constant":false,"id":67716,"mutability":"mutable","name":"k","nameLocation":"11671:1:158","nodeType":"VariableDeclaration","scope":67722,"src":"11663:9:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67715,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11663:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67720,"initialValue":{"baseExpression":{"id":67717,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67689,"src":"11675:1:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67719,"indexExpression":{"id":67718,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"11677:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11675:4:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11663:16:158"},{"AST":{"nativeSrc":"11749:75:158","nodeType":"YulBlock","src":"11749:75:158","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"11778:6:158","nodeType":"YulIdentifier","src":"11778:6:158"},{"arguments":[{"kind":"number","nativeSrc":"11790:2:158","nodeType":"YulLiteral","src":"11790:2:158","type":"","value":"32"},{"arguments":[{"kind":"number","nativeSrc":"11798:2:158","nodeType":"YulLiteral","src":"11798:2:158","type":"","value":"32"},{"name":"i","nativeSrc":"11802:1:158","nodeType":"YulIdentifier","src":"11802:1:158"}],"functionName":{"name":"mul","nativeSrc":"11794:3:158","nodeType":"YulIdentifier","src":"11794:3:158"},"nativeSrc":"11794:10:158","nodeType":"YulFunctionCall","src":"11794:10:158"}],"functionName":{"name":"add","nativeSrc":"11786:3:158","nodeType":"YulIdentifier","src":"11786:3:158"},"nativeSrc":"11786:19:158","nodeType":"YulFunctionCall","src":"11786:19:158"}],"functionName":{"name":"add","nativeSrc":"11774:3:158","nodeType":"YulIdentifier","src":"11774:3:158"},"nativeSrc":"11774:32:158","nodeType":"YulFunctionCall","src":"11774:32:158"},{"name":"k","nativeSrc":"11808:1:158","nodeType":"YulIdentifier","src":"11808:1:158"}],"functionName":{"name":"mstore","nativeSrc":"11767:6:158","nodeType":"YulIdentifier","src":"11767:6:158"},"nativeSrc":"11767:43:158","nodeType":"YulFunctionCall","src":"11767:43:158"},"nativeSrc":"11767:43:158","nodeType":"YulExpressionStatement","src":"11767:43:158"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":67705,"isOffset":false,"isSlot":false,"src":"11802:1:158","valueSize":1},{"declaration":67716,"isOffset":false,"isSlot":false,"src":"11808:1:158","valueSize":1},{"declaration":67695,"isOffset":false,"isSlot":false,"src":"11778:6:158","valueSize":1}],"id":67721,"nodeType":"InlineAssembly","src":"11740:84:158"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67708,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"11630:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67709,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67689,"src":"11634:1:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":67710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11636:6:158","memberName":"length","nodeType":"MemberAccess","src":"11634:8:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11630:12:158","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67723,"initializationExpression":{"assignments":[67705],"declarations":[{"constant":false,"id":67705,"mutability":"mutable","name":"i","nameLocation":"11623:1:158","nodeType":"VariableDeclaration","scope":67723,"src":"11615:9:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67704,"name":"uint256","nodeType":"ElementaryTypeName","src":"11615:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67707,"initialValue":{"hexValue":"30","id":67706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11627:1:158","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11615:13:158"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":67713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11644:3:158","subExpression":{"id":67712,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67705,"src":"11644:1:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67714,"nodeType":"ExpressionStatement","src":"11644:3:158"},"nodeType":"ForStatement","src":"11610:224:158"},{"expression":{"id":67724,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67695,"src":"11851:6:158","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":67693,"id":67725,"nodeType":"Return","src":"11844:13:158"}]},"implemented":true,"kind":"function","modifiers":[],"name":"flatten","nameLocation":"11480:7:158","parameters":{"id":67690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67689,"mutability":"mutable","name":"b","nameLocation":"11505:1:158","nodeType":"VariableDeclaration","scope":67727,"src":"11488:18:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":67687,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11488:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":67688,"nodeType":"ArrayTypeName","src":"11488:9:158","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"11487:20:158"},"returnParameters":{"id":67693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67692,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67727,"src":"11530:12:158","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67691,"name":"bytes","nodeType":"ElementaryTypeName","src":"11530:5:158","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11529:14:158"},"scope":67728,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorage","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[67728],"name":"stdStorage","nameLocation":"7347:10:158","scope":67729,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":158}