{"abi":[{"type":"error","name":"FfiFailed","inputs":[{"name":"","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x602d6037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"97:1385:134:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;97:1385:134;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300080f000a","sourceMap":"97:1385:134:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"FfiFailed\",\"type\":\"error\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"FfiFailed(string)\":[{\"notice\":\"Error for when an ffi command fails.\"}]},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/libraries/Process.sol\":\"Process\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]},\"scripts/libraries/Process.sol\":{\"keccak256\":\"0xf2ad1d9d948fb8914adc25b691f2ec18c396930069c492f5d3d3b67b0a5e0920\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://912b145d1a5dd62c18e22c0058e345c55ebf8157e704f2e6dbd90fb8cff9fa1c\",\"dweb:/ipfs/QmNweSeEiuML5bYbHGDw98Rkup1e1URWWdQJqUBbQPQGPP\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string"}],"type":"error","name":"FfiFailed"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"scripts/libraries/Process.sol":"Process"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"},"scripts/libraries/Process.sol":{"keccak256":"0xf2ad1d9d948fb8914adc25b691f2ec18c396930069c492f5d3d3b67b0a5e0920","urls":["bzz-raw://912b145d1a5dd62c18e22c0058e345c55ebf8157e704f2e6dbd90fb8cff9fa1c","dweb:/ipfs/QmNweSeEiuML5bYbHGDw98Rkup1e1URWWdQJqUBbQPQGPP"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","errors":{"FfiFailed(string)":[{"notice":"Error for when an ffi command fails."}]}},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"scripts/libraries/Process.sol","id":84151,"exportedSymbols":{"Process":[84150],"Vm":[16311]},"nodeType":"SourceUnit","src":"32:1451:134","nodes":[{"id":84006,"nodeType":"PragmaDirective","src":"32:23:134","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":84008,"nodeType":"ImportDirective","src":"57:38:134","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"forge-std/Vm.sol","nameLocation":"-1:-1:-1","scope":84151,"sourceUnit":16312,"symbolAliases":[{"foreign":{"id":84007,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16311,"src":"66:2:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84150,"nodeType":"ContractDefinition","src":"97:1385:134","nodes":[{"id":84013,"nodeType":"ErrorDefinition","src":"172:24:134","nodes":[],"documentation":{"id":84009,"nodeType":"StructuredDocumentation","src":"119:48:134","text":"@notice Error for when an ffi command fails."},"errorSelector":"37eccf6f","name":"FfiFailed","nameLocation":"178:9:134","parameters":{"id":84012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84011,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84013,"src":"188:6:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":84010,"name":"string","nodeType":"ElementaryTypeName","src":"188:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"187:8:134"}},{"id":84031,"nodeType":"VariableDeclaration","src":"240:84:134","nodes":[],"constant":true,"documentation":{"id":84014,"nodeType":"StructuredDocumentation","src":"202:33:134","text":"@notice Foundry cheatcode VM."},"mutability":"constant","name":"vm","nameLocation":"260:2:134","scope":84150,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"},"typeName":{"id":84016,"nodeType":"UserDefinedTypeName","pathNode":{"id":84015,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":16311,"src":"240:2:134"},"referencedDeclaration":16311,"src":"240:2:134","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":84025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"302:17:134","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":84024,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"292:9:134","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":84026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"292:28:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":84023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"284:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":84022,"name":"uint256","nodeType":"ElementaryTypeName","src":"284:7:134","typeDescriptions":{}}},"id":84027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"284:37:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84021,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"276:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":84020,"name":"uint160","nodeType":"ElementaryTypeName","src":"276:7:134","typeDescriptions":{}}},"id":84028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"276:46:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":84019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"268:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84018,"name":"address","nodeType":"ElementaryTypeName","src":"268:7:134","typeDescriptions":{}}},"id":84029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"268:55:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84017,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16311,"src":"265:2:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$16311_$","typeString":"type(contract Vm)"}},"id":84030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"265:59:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"visibility":"private"},{"id":84048,"nodeType":"FunctionDefinition","src":"450:153:134","nodes":[],"body":{"id":84047,"nodeType":"Block","src":"529:74:134","nodes":[],"statements":[{"expression":{"id":84045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84040,"name":"stdout_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84038,"src":"539:7:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":84042,"name":"_command","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84035,"src":"565:8:134","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"hexValue":"66616c7365","id":84043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"588:5:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":84041,"name":"run","nodeType":"Identifier","overloadedDeclarations":[84048,84149],"referencedDeclaration":84149,"src":"549:3:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_bool_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory[] memory,bool) returns (bytes memory)"}},"id":84044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":["_command","_allowEmpty"],"nodeType":"FunctionCall","src":"549:47:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"539:57:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":84046,"nodeType":"ExpressionStatement","src":"539:57:134"}]},"documentation":{"id":84032,"nodeType":"StructuredDocumentation","src":"331:114:134","text":"@notice Run a command in a subprocess. Fails if no output is returned.\n @param _command Command to run."},"implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"459:3:134","parameters":{"id":84036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84035,"mutability":"mutable","name":"_command","nameLocation":"479:8:134","nodeType":"VariableDeclaration","scope":84048,"src":"463:24:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":84033,"name":"string","nodeType":"ElementaryTypeName","src":"463:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":84034,"nodeType":"ArrayTypeName","src":"463:8:134","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"462:26:134"},"returnParameters":{"id":84039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84038,"mutability":"mutable","name":"stdout_","nameLocation":"520:7:134","nodeType":"VariableDeclaration","scope":84048,"src":"507:20:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":84037,"name":"bytes","nodeType":"ElementaryTypeName","src":"507:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"506:22:134"},"scope":84150,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":84149,"nodeType":"FunctionDefinition","src":"743:737:134","nodes":[],"body":{"id":84148,"nodeType":"Block","src":"840:640:134","nodes":[],"statements":[{"assignments":[84063],"declarations":[{"constant":false,"id":84063,"mutability":"mutable","name":"result","nameLocation":"870:6:134","nodeType":"VariableDeclaration","scope":84148,"src":"850:26:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12641_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":84062,"nodeType":"UserDefinedTypeName","pathNode":{"id":84061,"name":"Vm.FfiResult","nodeType":"IdentifierPath","referencedDeclaration":12641,"src":"850:12:134"},"referencedDeclaration":12641,"src":"850:12:134","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12641_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"id":84068,"initialValue":{"arguments":[{"id":84066,"name":"_command","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84052,"src":"889:8:134","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":84064,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84031,"src":"879:2:134","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":84065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryFfi","nodeType":"MemberAccess","referencedDeclaration":13461,"src":"879:9:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_struct$_FfiResult_$12641_memory_ptr_$","typeString":"function (string memory[] memory) external returns (struct VmSafe.FfiResult memory)"}},"id":84067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"879:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12641_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"nodeType":"VariableDeclarationStatement","src":"850:48:134"},{"assignments":[84070],"declarations":[{"constant":false,"id":84070,"mutability":"mutable","name":"command","nameLocation":"922:7:134","nodeType":"VariableDeclaration","scope":84148,"src":"908:21:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":84069,"name":"string","nodeType":"ElementaryTypeName","src":"908:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":84071,"nodeType":"VariableDeclarationStatement","src":"908:21:134"},{"body":{"id":84095,"nodeType":"Block","src":"985:75:134","statements":[{"expression":{"id":84093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84083,"name":"command","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84070,"src":"999:7:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":84087,"name":"command","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84070,"src":"1023:7:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"baseExpression":{"id":84088,"name":"_command","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84052,"src":"1032:8:134","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":84090,"indexExpression":{"id":84089,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84073,"src":"1041:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1032:11:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20","id":84091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1045:3:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a","typeString":"literal_string \" \""},"value":" "}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_681afa780d17da29203322b473d3f210a7d621259a4e6ce9e403f5a266ff719a","typeString":"literal_string \" \""}],"expression":{"id":84085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1009:6:134","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":84084,"name":"string","nodeType":"ElementaryTypeName","src":"1009:6:134","typeDescriptions":{}}},"id":84086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"concat","nodeType":"MemberAccess","src":"1009:13:134","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":84092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1009:40:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"999:50:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":84094,"nodeType":"ExpressionStatement","src":"999:50:134"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84076,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84073,"src":"959:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":84077,"name":"_command","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84052,"src":"963:8:134","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":84078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"963:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"959:19:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84096,"initializationExpression":{"assignments":[84073],"declarations":[{"constant":false,"id":84073,"mutability":"mutable","name":"i","nameLocation":"952:1:134","nodeType":"VariableDeclaration","scope":84096,"src":"944:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84072,"name":"uint256","nodeType":"ElementaryTypeName","src":"944:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84075,"initialValue":{"hexValue":"30","id":84074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"956:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"944:13:134"},"loopExpression":{"expression":{"id":84081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"980:3:134","subExpression":{"id":84080,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84073,"src":"980:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84082,"nodeType":"ExpressionStatement","src":"980:3:134"},"nodeType":"ForStatement","src":"939:121:134"},{"condition":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":84100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":84097,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"1073:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12641_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":84098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"exitCode","nodeType":"MemberAccess","referencedDeclaration":12636,"src":"1073:15:134","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":84099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1092:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1073:20:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84117,"nodeType":"IfStatement","src":"1069:140:134","trueBody":{"id":84116,"nodeType":"Block","src":"1095:114:134","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"436f6d6d616e643a20","id":84105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1140:11:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b88b30e3e1b5901fc3f5b55a82a64da49e6ab37db0d633295e3d3aee7f6a8ad","typeString":"literal_string \"Command: \""},"value":"Command: "},{"id":84106,"name":"command","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84070,"src":"1153:7:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"0a4572726f723a20","id":84107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1162:11:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f1ab287d4da6476ae995551791ae25d565fcf00589cbbcfd2d0135bcf14ae4d","typeString":"literal_string hex\"0a4572726f723a20\""},"value":"\nError: "},{"arguments":[{"expression":{"id":84110,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"1182:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12641_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":84111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"stderr","nodeType":"MemberAccess","referencedDeclaration":12640,"src":"1182:13:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":84109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1175:6:134","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":84108,"name":"string","nodeType":"ElementaryTypeName","src":"1175:6:134","typeDescriptions":{}}},"id":84112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1175:21:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b88b30e3e1b5901fc3f5b55a82a64da49e6ab37db0d633295e3d3aee7f6a8ad","typeString":"literal_string \"Command: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_9f1ab287d4da6476ae995551791ae25d565fcf00589cbbcfd2d0135bcf14ae4d","typeString":"literal_string hex\"0a4572726f723a20\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":84103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1126:6:134","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":84102,"name":"string","nodeType":"ElementaryTypeName","src":"1126:6:134","typeDescriptions":{}}},"id":84104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"concat","nodeType":"MemberAccess","src":"1126:13:134","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":84113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1126:71:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":84101,"name":"FfiFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84013,"src":"1116:9:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":84114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1116:82:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84115,"nodeType":"RevertStatement","src":"1109:89:134"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":84131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1280:12:134","subExpression":{"id":84118,"name":"_allowEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84054,"src":"1281:11:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":84130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":84121,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"1306:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12641_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":84122,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"stdout","nodeType":"MemberAccess","referencedDeclaration":12638,"src":"1306:13:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":84120,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1296:9:134","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":84123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1296:24:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"5b5d","id":84127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1340:4:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_518674ab2b227e5f11e9084f615d57663cde47bce1ba168b4c19c7ee22a73d70","typeString":"literal_string \"[]\""},"value":"[]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_518674ab2b227e5f11e9084f615d57663cde47bce1ba168b4c19c7ee22a73d70","typeString":"literal_string \"[]\""}],"id":84126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1334:5:134","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":84125,"name":"bytes","nodeType":"ElementaryTypeName","src":"1334:5:134","typeDescriptions":{}}},"id":84128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1334:11:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":84124,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1324:9:134","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":84129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1324:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1296:50:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1280:66:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84142,"nodeType":"IfStatement","src":"1276:165:134","trueBody":{"id":84141,"nodeType":"Block","src":"1348:93:134","statements":[{"errorCall":{"arguments":[{"arguments":[{"hexValue":"4e6f206f75747075742066726f6d20436f6d6d616e643a20","id":84136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1393:26:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_b96b17031d42167dd2c9593d19ba76fef60d985fbad50cd2ca83e845564a8315","typeString":"literal_string \"No output from Command: \""},"value":"No output from Command: "},{"id":84137,"name":"command","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84070,"src":"1421:7:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b96b17031d42167dd2c9593d19ba76fef60d985fbad50cd2ca83e845564a8315","typeString":"literal_string \"No output from Command: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":84134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1379:6:134","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":84133,"name":"string","nodeType":"ElementaryTypeName","src":"1379:6:134","typeDescriptions":{}}},"id":84135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"concat","nodeType":"MemberAccess","src":"1379:13:134","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":84138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1379:50:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":84132,"name":"FfiFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84013,"src":"1369:9:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":84139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1369:61:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84140,"nodeType":"RevertStatement","src":"1362:68:134"}]}},{"expression":{"id":84146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84143,"name":"stdout_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84057,"src":"1450:7:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":84144,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"1460:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12641_memory_ptr","typeString":"struct VmSafe.FfiResult memory"}},"id":84145,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"stdout","nodeType":"MemberAccess","referencedDeclaration":12638,"src":"1460:13:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"1450:23:134","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":84147,"nodeType":"ExpressionStatement","src":"1450:23:134"}]},"documentation":{"id":84049,"nodeType":"StructuredDocumentation","src":"609:129:134","text":"@notice Run a command in a subprocess.\n @param _command Command to run.\n @param _allowEmpty Allow empty output."},"implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"752:3:134","parameters":{"id":84055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84052,"mutability":"mutable","name":"_command","nameLocation":"772:8:134","nodeType":"VariableDeclaration","scope":84149,"src":"756:24:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":84050,"name":"string","nodeType":"ElementaryTypeName","src":"756:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":84051,"nodeType":"ArrayTypeName","src":"756:8:134","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":84054,"mutability":"mutable","name":"_allowEmpty","nameLocation":"787:11:134","nodeType":"VariableDeclaration","scope":84149,"src":"782:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":84053,"name":"bool","nodeType":"ElementaryTypeName","src":"782:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"755:44:134"},"returnParameters":{"id":84058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84057,"mutability":"mutable","name":"stdout_","nameLocation":"831:7:134","nodeType":"VariableDeclaration","scope":84149,"src":"818:20:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":84056,"name":"bytes","nodeType":"ElementaryTypeName","src":"818:5:134","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"817:22:134"},"scope":84150,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Process","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[84150],"name":"Process","nameLocation":"105:7:134","scope":84151,"usedErrors":[84013]}],"license":"MIT"},"id":134}