@latticexyz/world-modules 2.0.0-main-57d8965d → 2.0.0-main-07b57c30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"callViaSelector","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"echo","inputs":[{"name":"message","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"msgSender","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50611522806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c806345ec935411610076578063d737d0c71161005b578063d737d0c71461014b578063e1af802c14610153578063f15da7291461015b57600080fd5b806345ec93541461012557806396f09da61461013857600080fd5b806301ffc9a7146100a8578063119df25f146100d057806330b67baa146100fd5780633ae7af0814610105575b600080fd5b6100bb6100b6366004610f21565b61016c565b60405190151581526020015b60405180910390f35b6100d8610205565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100c7565b6100d8610214565b610118610113366004611030565b61021e565b6040516100c791906110c7565b604051601f1936013581526020016100c7565b6101186101463660046110da565b610231565b6100d861023c565b6100d8610246565b61011861016936600461110f565b90565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101ff57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020f610250565b905090565b600061020f610246565b606061022a8383610281565b9392505050565b60606101ff826103f3565b600061020f610205565b600061020f6104a1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061016957503390565b6060600061028d610246565b905073ffffffffffffffffffffffffffffffffffffffff811630036103505760006102b7856104ed565b50905073ffffffffffffffffffffffffffffffffffffffff811661031c57846102df86610611565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610313929190611158565b60405180910390fd5b6000610336610329610250565b36601f190135848861074e565b945090508061034857610348846107cf565b5050506101ff565b6040517f3ae7af0800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633ae7af08906103a49087908790600401611158565b6000604051808303816000875af11580156103c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103eb91908101906111b6565b949350505050565b6060600080610409610404856111eb565b6107d7565b91509150816000801b0361046f576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610313565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526103eb8285610281565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff16806104e8573391505090565b919050565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106105275761052761123b565b602090810291909101810191909152604080517f7462000000000000000000000000000000000000000000000000000000000000818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f53797374656d730000000000000000000000000000000000000000000000000060308201528151808203909301835281019052600090819081906105f3906105cd90611251565b857e1502001401000000000000000000000000000000000000000000000000000061090d565b9250925092506106048383836109f7565b9550955050505050915091565b606081601081901b600061062483610a0f565b9050827fffffffffffffffffffffffffffff00000000000000000000000000000000000083161561067f5761067a7fffffffffffffffffffffffffffff0000000000000000000000000000000000008416610a26565b6106b6565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156106ec576106e783610a26565b610723565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161073593929190611278565b6040516020818303038152906040529350505050919050565b600060608373ffffffffffffffffffffffffffffffffffffffff16610774848888610ad4565b6040516107819190611306565b600060405180830381855af49150503d80600081146107bc576040519150601f19603f3d011682016040523d82523d6000602084013e6107c1565b606091505b509097909650945050505050565b805160208201fd5b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106108305761083061123b565b602090810291909101810191909152604080517f7462000000000000000000000000000000000000000000000000000000000000818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f46756e6374696f6e53656c6563746f720000000000000000000000000000000060308201528151808203909301835281019052600090819081906108fc906108d690611251565b857e2402002004000000000000000000000000000000000000000000000000000061090d565b925092509250610604838383610b03565b606060006060600061091d6104a1565b90503073ffffffffffffffffffffffffffffffffffffffff82160361095357610947878787610b0f565b935093509350506109ee565b6040517f419b58fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063419b58fd906109a9908a908a908a90600401611322565b600060405180830381865afa1580156109c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109479190810190611379565b93509350939050565b600080610a0385610c17565b90969095509350505050565b6000610a1d607060106113fc565b9190911b919050565b606060005b6010811015610a95577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610a955780610a8d8161140f565b915050610a2b565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806103eb565b6060838383604051602001610aeb93929190611429565b60405160208183030381529060405290509392505050565b600080610a0385610c36565b6060600060606000610b2085610c48565b9050610b2d878783610c6b565b93506000610b3a86610cad565b90508015610c0c57610b4c8888610cea565b935066ffffffffffffff841667ffffffffffffffff811115610b7057610b70610f63565b6040519080825280601f01601f191660200182016040528015610b9a576020820181803683370190505b5092506020830160005b828160ff161015610c09576000610bbc8b8b84610cfd565b90506000610bd9888460ff166028026038011c64ffffffffff1690565b9050610be88260008387610d7d565b610bf281856113fc565b935050508080610c019061147b565b915050610ba4565b50505b505093509350939050565b6020810151603482015160609190911c9060009060f81c5b9050915091565b60208101516040820151600090610c2f565b60006008610c586002602061149a565b610c6291906114ad565b9190911c919050565b606081600003610c8a575060408051602081019091526000815261022a565b6000610c968585610e4a565b9050610ca481600085610ea0565b95945050505050565b60006008600180610cc06002602061149a565b610cca919061149a565b610cd4919061149a565b610cde91906114ad565b8260ff911c1692915050565b600061022a610cf98484610ecb565b5490565b60008383604051602001610d129291906114c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215610e065760208310610da757602083048401935060208381610da357610da36114ff565b0692505b8215610e06576020839003600081841015610dcb5750600019600884021c19610dd6565b50600019600882021c195b8554600886021b811984511682821617845250818411610df7575050610e44565b50600194909401939182900391015b5b60208210610e285783548152600190930192601f1990910190602001610e07565b8115610e445780518454600019600885021c9182169119161781525b50505050565b60008282604051602001610e5f9291906114c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b60405160208101601f19603f8484010116604052828252610ec385858584610d7d565b509392505050565b60008282604051602001610ee09291906114c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600060208284031215610f3357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461022a57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610fa257610fa2610f63565b604052919050565b600067ffffffffffffffff821115610fc457610fc4610f63565b50601f01601f191660200190565b6000610fe5610fe084610faa565b610f79565b9050828152838383011115610ff957600080fd5b828260208301376000602084830101529392505050565b600082601f83011261102157600080fd5b61022a83833560208501610fd2565b6000806040838503121561104357600080fd5b82359150602083013567ffffffffffffffff81111561106157600080fd5b61106d85828601611010565b9150509250929050565b60005b8381101561109257818101518382015260200161107a565b50506000910152565b600081518084526110b3816020860160208601611077565b601f01601f19169290920160200192915050565b60208152600061022a602083018461109b565b6000602082840312156110ec57600080fd5b813567ffffffffffffffff81111561110357600080fd5b6103eb84828501611010565b60006020828403121561112157600080fd5b813567ffffffffffffffff81111561113857600080fd5b8201601f8101841361114957600080fd5b6103eb84823560208401610fd2565b8281526040602082015260006103eb604083018461109b565b600082601f83011261118257600080fd5b8151611190610fe082610faa565b8181528460208386010111156111a557600080fd5b6103eb826020830160208701611077565b6000602082840312156111c857600080fd5b815167ffffffffffffffff8111156111df57600080fd5b6103eb84828501611171565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156112335780818460040360031b1b83161693505b505050919050565b634e487b7160e01b600052603260045260246000fd5b80516020808301519190811015611272576000198160200360031b1b821691505b50919050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516112d9816003860160208901611077565b8084019050816003820152845191506112f9826004830160208801611077565b0160040195945050505050565b60008251611318818460208701611077565b9190910192915050565b6000606082018583526020606081850152818651808452608086019150828801935060005b8181101561136357845183529383019391830191600101611347565b5050809350505050826040830152949350505050565b60008060006060848603121561138e57600080fd5b835167ffffffffffffffff808211156113a657600080fd5b6113b287838801611171565b94506020860151935060408601519150808211156113cf57600080fd5b506113dc86828701611171565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6113e6565b60006000198203611422576114226113e6565b5060010190565b6000845161143b818460208901611077565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b600060ff821660ff8103611491576114916113e6565b60010192915050565b818103818111156101ff576101ff6113e6565b80820281158282048414176101ff576101ff6113e6565b82815260006020808301845182860160005b828110156114f2578151845292840192908401906001016114d6565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fdfea164736f6c6343000815000a","sourceMap":"789:570:200:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a35760003560e01c806345ec935411610076578063d737d0c71161005b578063d737d0c71461014b578063e1af802c14610153578063f15da7291461015b57600080fd5b806345ec93541461012557806396f09da61461013857600080fd5b806301ffc9a7146100a8578063119df25f146100d057806330b67baa146100fd5780633ae7af0814610105575b600080fd5b6100bb6100b6366004610f21565b61016c565b60405190151581526020015b60405180910390f35b6100d8610205565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100c7565b6100d8610214565b610118610113366004611030565b61021e565b6040516100c791906110c7565b604051601f1936013581526020016100c7565b6101186101463660046110da565b610231565b6100d861023c565b6100d8610246565b61011861016936600461110f565b90565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101ff57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020f610250565b905090565b600061020f610246565b606061022a8383610281565b9392505050565b60606101ff826103f3565b600061020f610205565b600061020f6104a1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061016957503390565b6060600061028d610246565b905073ffffffffffffffffffffffffffffffffffffffff811630036103505760006102b7856104ed565b50905073ffffffffffffffffffffffffffffffffffffffff811661031c57846102df86610611565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610313929190611158565b60405180910390fd5b6000610336610329610250565b36601f190135848861074e565b945090508061034857610348846107cf565b5050506101ff565b6040517f3ae7af0800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633ae7af08906103a49087908790600401611158565b6000604051808303816000875af11580156103c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103eb91908101906111b6565b949350505050565b6060600080610409610404856111eb565b6107d7565b91509150816000801b0361046f576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610313565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526103eb8285610281565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff16806104e8573391505090565b919050565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106105275761052761123b565b602090810291909101810191909152604080517f7462000000000000000000000000000000000000000000000000000000000000818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f53797374656d730000000000000000000000000000000000000000000000000060308201528151808203909301835281019052600090819081906105f3906105cd90611251565b857e1502001401000000000000000000000000000000000000000000000000000061090d565b9250925092506106048383836109f7565b9550955050505050915091565b606081601081901b600061062483610a0f565b9050827fffffffffffffffffffffffffffff00000000000000000000000000000000000083161561067f5761067a7fffffffffffffffffffffffffffff0000000000000000000000000000000000008416610a26565b6106b6565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156106ec576106e783610a26565b610723565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161073593929190611278565b6040516020818303038152906040529350505050919050565b600060608373ffffffffffffffffffffffffffffffffffffffff16610774848888610ad4565b6040516107819190611306565b600060405180830381855af49150503d80600081146107bc576040519150601f19603f3d011682016040523d82523d6000602084013e6107c1565b606091505b509097909650945050505050565b805160208201fd5b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106108305761083061123b565b602090810291909101810191909152604080517f7462000000000000000000000000000000000000000000000000000000000000818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f46756e6374696f6e53656c6563746f720000000000000000000000000000000060308201528151808203909301835281019052600090819081906108fc906108d690611251565b857e2402002004000000000000000000000000000000000000000000000000000061090d565b925092509250610604838383610b03565b606060006060600061091d6104a1565b90503073ffffffffffffffffffffffffffffffffffffffff82160361095357610947878787610b0f565b935093509350506109ee565b6040517f419b58fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063419b58fd906109a9908a908a908a90600401611322565b600060405180830381865afa1580156109c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109479190810190611379565b93509350939050565b600080610a0385610c17565b90969095509350505050565b6000610a1d607060106113fc565b9190911b919050565b606060005b6010811015610a95577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610a955780610a8d8161140f565b915050610a2b565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806103eb565b6060838383604051602001610aeb93929190611429565b60405160208183030381529060405290509392505050565b600080610a0385610c36565b6060600060606000610b2085610c48565b9050610b2d878783610c6b565b93506000610b3a86610cad565b90508015610c0c57610b4c8888610cea565b935066ffffffffffffff841667ffffffffffffffff811115610b7057610b70610f63565b6040519080825280601f01601f191660200182016040528015610b9a576020820181803683370190505b5092506020830160005b828160ff161015610c09576000610bbc8b8b84610cfd565b90506000610bd9888460ff166028026038011c64ffffffffff1690565b9050610be88260008387610d7d565b610bf281856113fc565b935050508080610c019061147b565b915050610ba4565b50505b505093509350939050565b6020810151603482015160609190911c9060009060f81c5b9050915091565b60208101516040820151600090610c2f565b60006008610c586002602061149a565b610c6291906114ad565b9190911c919050565b606081600003610c8a575060408051602081019091526000815261022a565b6000610c968585610e4a565b9050610ca481600085610ea0565b95945050505050565b60006008600180610cc06002602061149a565b610cca919061149a565b610cd4919061149a565b610cde91906114ad565b8260ff911c1692915050565b600061022a610cf98484610ecb565b5490565b60008383604051602001610d129291906114c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215610e065760208310610da757602083048401935060208381610da357610da36114ff565b0692505b8215610e06576020839003600081841015610dcb5750600019600884021c19610dd6565b50600019600882021c195b8554600886021b811984511682821617845250818411610df7575050610e44565b50600194909401939182900391015b5b60208210610e285783548152600190930192601f1990910190602001610e07565b8115610e445780518454600019600885021c9182169119161781525b50505050565b60008282604051602001610e5f9291906114c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b60405160208101601f19603f8484010116604052828252610ec385858584610d7d565b509392505050565b60008282604051602001610ee09291906114c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600060208284031215610f3357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461022a57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610fa257610fa2610f63565b604052919050565b600067ffffffffffffffff821115610fc457610fc4610f63565b50601f01601f191660200190565b6000610fe5610fe084610faa565b610f79565b9050828152838383011115610ff957600080fd5b828260208301376000602084830101529392505050565b600082601f83011261102157600080fd5b61022a83833560208501610fd2565b6000806040838503121561104357600080fd5b82359150602083013567ffffffffffffffff81111561106157600080fd5b61106d85828601611010565b9150509250929050565b60005b8381101561109257818101518382015260200161107a565b50506000910152565b600081518084526110b3816020860160208601611077565b601f01601f19169290920160200192915050565b60208152600061022a602083018461109b565b6000602082840312156110ec57600080fd5b813567ffffffffffffffff81111561110357600080fd5b6103eb84828501611010565b60006020828403121561112157600080fd5b813567ffffffffffffffff81111561113857600080fd5b8201601f8101841361114957600080fd5b6103eb84823560208401610fd2565b8281526040602082015260006103eb604083018461109b565b600082601f83011261118257600080fd5b8151611190610fe082610faa565b8181528460208386010111156111a557600080fd5b6103eb826020830160208701611077565b6000602082840312156111c857600080fd5b815167ffffffffffffffff8111156111df57600080fd5b6103eb84828501611171565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156112335780818460040360031b1b83161693505b505050919050565b634e487b7160e01b600052603260045260246000fd5b80516020808301519190811015611272576000198160200360031b1b821691505b50919050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516112d9816003860160208901611077565b8084019050816003820152845191506112f9826004830160208801611077565b0160040195945050505050565b60008251611318818460208701611077565b9190910192915050565b6000606082018583526020606081850152818651808452608086019150828801935060005b8181101561136357845183529383019391830191600101611347565b5050809350505050826040830152949350505050565b60008060006060848603121561138e57600080fd5b835167ffffffffffffffff808211156113a657600080fd5b6113b287838801611171565b94506020860151935060408601519150808211156113cf57600080fd5b506113dc86828701611171565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6113e6565b60006000198203611422576114226113e6565b5060010190565b6000845161143b818460208901611077565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b600060ff821660ff8103611491576114916113e6565b60010192915050565b818103818111156101ff576101ff6113e6565b80820281158282048414176101ff576101ff6113e6565b82815260006020808301845182860160005b828110156114f2578151845292840192908401906001016114d6565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fdfea164736f6c6343000815000a","sourceMap":"789:570:200:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2311:188:58;;;;;;:::i;:::-;;:::i;:::-;;;516:14:203;;509:22;491:41;;479:2;464:18;2311:188:58;;;;;;;;1245:113;;;:::i;:::-;;;719:42:203;707:55;;;689:74;;677:2;662:18;1245:113:58;543:226:203;908:73:200;;;:::i;1087:143::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1599:110:58:-;;;-1:-1:-1;;3585:14:58;3581:23;3568:37;3499:25:203;;3487:2;3472:18;1599:110:58;3353:177:203;1234:123:200;;;;;;:::i;:::-;;:::i;823:81::-;;;:::i;1925:95:58:-;;;:::i;985:98:200:-;;;;;;:::i;:::-;1071:7;985:98;2311:188:58;2387:4;2406:50;;;464:128:50;2406:50:58;;:88;;-1:-1:-1;2460:34:58;;;188::47;2460::58;2406:88;2399:95;2311:188;-1:-1:-1;;2311:188:58:o;1245:113::-;1288:14;1317:36;:34;:36::i;:::-;1310:43;;1245:113;:::o;908:73:200:-;946:7;968:8;:6;:8::i;1087:143::-;1161:12;1188:37;1206:8;1216;1188:17;:37::i;:::-;1181:44;1087:143;-1:-1:-1;;;1087:143:200:o;1234:123::-;1298:12;1325:27;1343:8;1325:17;:27::i;823:81::-;865:7;887:12;:10;:12::i;1925:95:58:-;1964:7;1986:29;:27;:29::i;2779:381::-;3063:34;3067:14;3063:34;3050:48;3046:2;3042:57;;3110:45;;-1:-1:-1;3145:10:58;2779:381;:::o;1976:978:193:-;2052:23;2083:20;2106:32;:30;:32::i;:::-;2083:55;-1:-1:-1;2229:29:193;;;2237:4;2229:29;2225:605;;2269:21;2296;2308:8;2296:11;:21::i;:::-;-1:-1:-1;2268:49:193;-1:-1:-1;2365:27:193;;;2361:106;;2437:8;2447:19;:8;:17;:19::i;:::-;2401:66;;;;;;;;;;;;:::i;:::-;;;;;;;;2361:106;2476:12;2520:228;2589:36;:34;:36::i;:::-;3585:14:58;-1:-1:-1;;3581:23:58;3568:37;2698:13:193;2731:8;2520:47;:228::i;:::-;2496:252;-1:-1:-1;2496:252:193;-1:-1:-1;2496:252:193;2757:41;;2771:27;2787:10;2771:15;:27::i;:::-;2806:17;;;;;2225:605;2898:51;;;;;:31;;;;;;:51;;2930:8;;2940;;2898:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2898:51:193;;;;;;;;;;;;:::i;:::-;2885:64;1976:978;-1:-1:-1;;;;1976:978:193:o;3480:662::-;3535:23;3678:19;;3732:39;3754:16;3761:8;3754:16;:::i;:::-;3732:21;:39::i;:::-;3677:94;;;;3852:8;3865:1;3834:32;;;3830:97;;3875:52;;;;;3919:7;;;;3875:52;;;6531:98:203;6504:18;;3875:52:193;6387:248:203;3830:97:193;1693:4:2;1678:28;;1672:35;;1781:9;1770:21;1837:20;;1895:43;;4045:92:193;4062:8;4098;4045:4;:92::i;1766:227:24:-;996:42;1855:22;1816:7;;1855:22;;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:24:o;6202:433:77:-;6329:16;;;6343:1;6329:16;;;;;;;;;6259:14;;;;;;6329:16;;;;;;;;;;;-1:-1:-1;6329:16:77;6300:45;;6384:8;6351:9;6361:1;6351:12;;;;;;;;:::i;:::-;;;;;;;;;;;:42;;;;1253:70;;;1270:14;1253:70;;;7012:92:203;1286:16:77;7120:11:203;;;7113:100;1304:18:77;7229:12:203;;;7222:101;1253:70:77;;;;;;;;;;7339:12:203;;1253:70:77;;-1:-1:-1;;;;;;6487:80:77;;1245:79;;;:::i;:::-;6532:9;1432:66;6487:21;:80::i;:::-;6400:167;;;;;;6580:50;6587:11;6600:15;6617:12;6580:6;:50::i;:::-;6573:57;;;;;;;;6202:433;;;:::o;3312:592:59:-;3376:13;3446:10;336:5:16;2463:44:59;;;3397:19;3544;3446:10;3544:7;:19::i;:::-;3521:42;-1:-1:-1;3626:12:59;3665:35;;;;:102;;3714:53;;;;:34;:53::i;:::-;3665:102;;;;;;;;;;;;;;;;;;;;;3794:25;;;;:87;;3833:48;3868:12;3833:34;:48::i;:::-;3794:87;;;;;;;;;;;;;;;;;;;;;3598:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3569:330;;;;;3312:592;;;:::o;6132:321:58:-;6279:12;6293:17;6336:6;:19;;6363:79;6389:8;6410:9;6431:8;6363:13;:79::i;:::-;6336:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6318:130:58;;;;-1:-1:-1;6132:321:58;-1:-1:-1;;;;;6132:321:58:o;501:217:91:-;704:6;698:13;691:4;683:6;679:17;672:40;6470:452:69;6618:16;;;6632:1;6618:16;;;;;;;;;6531:19;;;;;;6618:16;;;;;;;;;;;-1:-1:-1;6618:16:69;6589:45;;6663:16;6655:25;;;6640:9;6650:1;6640:12;;;;;;;;:::i;:::-;;;;;;;;;;;:40;;;;1253:79;;;1270:14;1253:79;;;7012:92:203;1286:16:69;7120:11:203;;;7113:100;1304:27:69;7229:12:203;;;7222:101;1253:79:69;;;;;;;;;;7339:12:203;;1253:79:69;;-1:-1:-1;;;;;;6774:80:69;;1245:88;;;:::i;:::-;6819:9;1451:66;6774:21;:80::i;:::-;6687:167;;;;;;6867:50;6874:11;6887:15;6904:12;6867:6;:50::i;15275:430:24:-;15405:12;15419:13;15434:12;15454:21;15478:17;:15;:17::i;:::-;15454:41;-1:-1:-1;15530:4:24;15505:30;;;;15501:200;;15552:51;15572:7;15581:8;15591:11;15552:19;:51::i;:::-;15545:58;;;;;;;;;15501:200;15631:63;;;;;:31;;;;;;:63;;15663:7;;15672:8;;15682:11;;15631:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15631:63:24;;;;;;;;;;;;:::i;15275:430::-;;;;;;;;:::o;8575:206:77:-;8685:14;8701:17;8751:25;8764:11;8751:12;:25::i;:::-;8726:50;;;;-1:-1:-1;8575:206:77;-1:-1:-1;;;;8575:206:77:o;2991:160:59:-;3054:7;3118:26;399:6;336:5:16;3118:26:59;:::i;:::-;3084:61;;;;;2991:160;-1:-1:-1;2991:160:59:o;1757:322::-;1827:13;1848:14;1868:80;1884:2;1875:6;:11;1868:80;;;1902:34;;;3181:1:2;3177:13;;3173:24;1902:39:59;;1898:50;1943:5;1898:50;1888:8;;;;:::i;:::-;;;;1868:80;;;1984:30;;;11118:66:203;11106:79;;1984:30:59;;;11094:92:203;1984:30:59;;11202:12:203;;;;1984:30:59;;;809:21:2;;;1984:30:59;2034:39;694:164:2;4614:201:58;4736:12;4780:8;4790:9;4801:8;4763:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4756:54;;4614:201;;;;;:::o;8962:235:69:-;9072:19;9093:29;9167:25;9180:11;9167:12;:25::i;32184:1314:20:-;32314:23;32339:28;32369:24;32435:20;32458:30;:11;:28;:30::i;:::-;32435:53;;32549:65;32582:7;32591:8;32601:12;32549:32;:65::i;:::-;32536:78;;32678:24;32705:30;:11;:28;:30::i;:::-;32678:57;-1:-1:-1;32745:20:20;;32741:753;;32838:66;32886:7;32895:8;32838:47;:66::i;:::-;32821:83;-1:-1:-1;6184:59:15;;;32956:33:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32956:33:20;-1:-1:-1;32942:47:20;-1:-1:-1;826:4:14;816:15;;32997:21:20;33061:427;33079:16;33075:1;:20;;;33061:427;;;33112:27;33142:63;33184:7;33193:8;33203:1;33142:41;:63::i;:::-;33112:93;-1:-1:-1;33215:14:20;33232:25;:14;33255:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;33232:25:20;33215:42;;33267:110;33298:19;33327:1;33338:6;33361:13;33267:12;:110::i;:::-;33456:23;33473:6;33456:23;;:::i;:::-;;;33102:386;;33097:3;;;;;:::i;:::-;;;;33061:427;;;;32767:727;32741:753;32395:1103;;32184:1314;;;;;;;:::o;8200:217:77:-;7014:4:2;7000:27;;6994:34;7000:27;;;6994:34;8316:32:77;;;;;;8265:14;;8380:30;;8372:39;8356:56;;8200:217;;;:::o;8568:236:69:-;7014:4:2;7000:27;;6994:34;7000:27;;;6994:34;8633:19:69;;8775:23;6858:199:2;4561:171:3;4635:7;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4657:70:3;;;;;4561:171;-1:-1:-1;4561:171:3:o;48020:360:20:-;48146:12;48170:6;48180:1;48170:11;48166:26;;-1:-1:-1;48183:9:20;;;;;;;;;-1:-1:-1;48183:9:20;;;;48166:26;48233:16;48252:41;48275:7;48284:8;48252:22;:41::i;:::-;48233:60;;48306:69;48337:8;48355:1;48366:6;48306:12;:69::i;:::-;48299:76;48020:360;-1:-1:-1;;;;;48020:360:20:o;5340:173:3:-;5414:7;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5450:11:3;5429:79;5442:65;;5429:79;;5340:173;-1:-1:-1;;5340:173:3:o;53136:301:20:-;53257:13;53349:82;53380:48;53410:7;53419:8;53380:29;:48::i;:::-;4640:21:19;;4534:137;51939:274:20;52083:7;52188;52197:8;52171:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52161:46;;;;;;52140:17;52133:25;;52113:45;;;41681:34;52113:45;:94;52105:103;;52098:110;;51939:274;;;;;:::o;6001:2377:19:-;6118:10;;6114:1540;;6271:2;6261:6;:12;6257:122;;6334:2;6325:6;:11;6307:29;;;;6358:2;6348:12;;;;;;:::i;:::-;;;;6257:122;6469:10;;6465:1183;;6677:2;:11;;;6551:21;6735:22;;;6731:133;;;-1:-1:-1;;;537:1:30;1116:25:31;;1094:48;1092:51;6731:133:19;;;-1:-1:-1;;;537:1:30;1116:25:31;;1094:48;1092:51;6731:133:19;7058:14;7052:21;7037:12;7029:6;7025:25;7021:53;7297:4;7293:9;7277:13;7271:20;7267:36;7204:4;7192:10;7188:21;7133:184;7106:13;7086:243;;7388:13;7378:6;:23;7374:36;;7403:7;;;;7374:36;-1:-1:-1;7551:1:19;7533:19;;;;;7606:23;;;;;7564:30;6465:1183;7683:253;7700:2;7690:6;:12;7683:253;;7794:21;;7772:44;;7869:1;7851:19;;;;-1:-1:-1;;7909:12:19;;;;7897:2;7880:19;7683:253;;;8004:10;;8000:374;;8306:20;;8221:21;;-1:-1:-1;;537:1:30;1116:25:31;;1094:48;8302:36:19;;;1092:51:31;;8217:32:19;8166:184;8123:237;;8000:374;6001:2377;;;;:::o;50003:191:20:-;50105:7;50169;50178:8;50152:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50152:35:20;;;;;;;;;50142:46;;50152:35;50142:46;;;;41609:22;50135:53;;50003:191;-1:-1:-1;;;50003:191:20:o;4971:665:19:-;5383:4;5377:11;5424:4;5412:17;;-1:-1:-1;;5302:14:19;5471:26;;;5302:14;5298:28;5443:4;5436:63;5543:6;5535;5528:22;5561:51;5566:14;5582:6;5590;5598:13;5561:4;:51::i;:::-;5618:13;4971:665;;;;;:::o;52568:230:20:-;52689:7;52773;52782:8;52756:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52756:35:20;;;;;;;;;52746:46;;52756:35;52746:46;;;;41772:40;52719:73;;52568:230;-1:-1:-1;;;52568:230:20:o;14:332:203:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:203;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:334;1034:2;1028:9;1090:2;1080:13;;-1:-1:-1;;1076:86:203;1064:99;;1193:18;1178:34;;1214:22;;;1175:62;1172:88;;;1240:18;;:::i;:::-;1276:2;1269:22;963:334;;-1:-1:-1;963:334:203:o;1302:245::-;1350:4;1383:18;1375:6;1372:30;1369:56;;;1405:18;;:::i;:::-;-1:-1:-1;1462:2:203;1450:15;-1:-1:-1;;1446:88:203;1536:4;1442:99;;1302:245::o;1552:336::-;1616:5;1645:52;1661:35;1689:6;1661:35;:::i;:::-;1645:52;:::i;:::-;1636:61;;1720:6;1713:5;1706:21;1760:3;1751:6;1746:3;1742:16;1739:25;1736:45;;;1777:1;1774;1767:12;1736:45;1826:6;1821:3;1814:4;1807:5;1803:16;1790:43;1880:1;1873:4;1864:6;1857:5;1853:18;1849:29;1842:40;1552:336;;;;;:::o;1893:220::-;1935:5;1988:3;1981:4;1973:6;1969:17;1965:27;1955:55;;2006:1;2003;1996:12;1955:55;2028:79;2103:3;2094:6;2081:20;2074:4;2066:6;2062:17;2028:79;:::i;2118:419::-;2226:6;2234;2287:2;2275:9;2266:7;2262:23;2258:32;2255:52;;;2303:1;2300;2293:12;2255:52;2339:9;2326:23;2316:33;;2400:2;2389:9;2385:18;2372:32;2427:18;2419:6;2416:30;2413:50;;;2459:1;2456;2449:12;2413:50;2482:49;2523:7;2514:6;2503:9;2499:22;2482:49;:::i;:::-;2472:59;;;2118:419;;;;;:::o;2542:250::-;2627:1;2637:113;2651:6;2648:1;2645:13;2637:113;;;2727:11;;;2721:18;2708:11;;;2701:39;2673:2;2666:10;2637:113;;;-1:-1:-1;;2784:1:203;2766:16;;2759:27;2542:250::o;2797:329::-;2838:3;2876:5;2870:12;2903:6;2898:3;2891:19;2919:76;2988:6;2981:4;2976:3;2972:14;2965:4;2958:5;2954:16;2919:76;:::i;:::-;3040:2;3028:15;-1:-1:-1;;3024:88:203;3015:98;;;;3115:4;3011:109;;2797:329;-1:-1:-1;;2797:329:203:o;3131:217::-;3278:2;3267:9;3260:21;3241:4;3298:44;3338:2;3327:9;3323:18;3315:6;3298:44;:::i;3535:320::-;3603:6;3656:2;3644:9;3635:7;3631:23;3627:32;3624:52;;;3672:1;3669;3662:12;3624:52;3712:9;3699:23;3745:18;3737:6;3734:30;3731:50;;;3777:1;3774;3767:12;3731:50;3800:49;3841:7;3832:6;3821:9;3817:22;3800:49;:::i;3860:450::-;3929:6;3982:2;3970:9;3961:7;3957:23;3953:32;3950:52;;;3998:1;3995;3988:12;3950:52;4038:9;4025:23;4071:18;4063:6;4060:30;4057:50;;;4103:1;4100;4093:12;4057:50;4126:22;;4179:4;4171:13;;4167:27;-1:-1:-1;4157:55:203;;4208:1;4205;4198:12;4157:55;4231:73;4296:7;4291:2;4278:16;4273:2;4269;4265:11;4231:73;:::i;4539:321::-;4747:6;4736:9;4729:25;4790:2;4785;4774:9;4770:18;4763:30;4710:4;4810:44;4850:2;4839:9;4835:18;4827:6;4810:44;:::i;5189:441::-;5242:5;5295:3;5288:4;5280:6;5276:17;5272:27;5262:55;;5313:1;5310;5303:12;5262:55;5342:6;5336:13;5373:48;5389:31;5417:2;5389:31;:::i;5373:48::-;5446:2;5437:7;5430:19;5492:3;5485:4;5480:2;5472:6;5468:15;5464:26;5461:35;5458:55;;;5509:1;5506;5499:12;5458:55;5522:77;5596:2;5589:4;5580:7;5576:18;5569:4;5561:6;5557:17;5522:77;:::i;5635:335::-;5714:6;5767:2;5755:9;5746:7;5742:23;5738:32;5735:52;;;5783:1;5780;5773:12;5735:52;5816:9;5810:16;5849:18;5841:6;5838:30;5835:50;;;5881:1;5878;5871:12;5835:50;5904:60;5956:7;5947:6;5936:9;5932:22;5904:60;:::i;5975:407::-;6058:5;6098;6092:12;6140:4;6133:5;6129:16;6123:23;6165:66;6257:2;6253;6249:11;6240:20;;6283:1;6275:6;6272:13;6269:107;;;6363:2;6357;6347:6;6344:1;6340:14;6337:1;6333:22;6329:31;6325:2;6321:40;6317:49;6308:58;;6269:107;;;;5975:407;;;:::o;6640:184::-;-1:-1:-1;;;6689:1:203;6682:88;6789:4;6786:1;6779:15;6813:4;6810:1;6803:15;7362:357;7480:12;;7527:4;7516:16;;;7510:23;;7480:12;7545:16;;7542:171;;;-1:-1:-1;;7625:6:203;7619:4;7615:17;7612:1;7608:25;7604:98;7597:5;7593:110;7584:119;;7542:171;;7362:357;;;:::o;7724:925::-;8173:66;8165:6;8161:79;8156:3;8149:92;8131:3;8260;8292:2;8288:1;8283:3;8279:11;8272:23;8324:6;8318:13;8340:74;8407:6;8403:1;8398:3;8394:11;8387:4;8379:6;8375:17;8340:74;:::i;:::-;8442:6;8437:3;8433:16;8423:26;;8477:2;8473:1;8469:2;8465:10;8458:22;8511:6;8505:13;8489:29;;8527:75;8593:8;8589:1;8585:2;8581:10;8574:4;8566:6;8562:17;8527:75;:::i;:::-;8622:17;8641:1;8618:25;;7724:925;-1:-1:-1;;;;;7724:925:203:o;8654:287::-;8783:3;8821:6;8815:13;8837:66;8896:6;8891:3;8884:4;8876:6;8872:17;8837:66;:::i;:::-;8919:16;;;;;8654:287;-1:-1:-1;;8654:287:203:o;8946:837::-;9206:4;9254:2;9243:9;9239:18;9284:6;9273:9;9266:25;9310:2;9348;9343;9332:9;9328:18;9321:30;9371:6;9406;9400:13;9437:6;9429;9422:22;9475:3;9464:9;9460:19;9453:26;;9514:2;9506:6;9502:15;9488:29;;9535:1;9545:169;9559:6;9556:1;9553:13;9545:169;;;9620:13;;9608:26;;9689:15;;;;9654:12;;;;9581:1;9574:9;9545:169;;;9549:3;;9731;9723:11;;;;;9770:6;9765:2;9754:9;9750:18;9743:34;8946:837;;;;;;:::o;9788:653::-;9928:6;9936;9944;9997:2;9985:9;9976:7;9972:23;9968:32;9965:52;;;10013:1;10010;10003:12;9965:52;10046:9;10040:16;10075:18;10116:2;10108:6;10105:14;10102:34;;;10132:1;10129;10122:12;10102:34;10155:60;10207:7;10198:6;10187:9;10183:22;10155:60;:::i;:::-;10145:70;;10255:2;10244:9;10240:18;10234:25;10224:35;;10305:2;10294:9;10290:18;10284:25;10268:41;;10334:2;10324:8;10321:16;10318:36;;;10350:1;10347;10340:12;10318:36;;10373:62;10427:7;10416:8;10405:9;10401:24;10373:62;:::i;:::-;10363:72;;;9788:653;;;;;:::o;10446:184::-;-1:-1:-1;;;10495:1:203;10488:88;10595:4;10592:1;10585:15;10619:4;10616:1;10609:15;10635:125;10700:9;;;10721:10;;;10718:36;;;10734:18;;:::i;10765:195::-;10804:3;-1:-1:-1;;10828:5:203;10825:77;10822:103;;10905:18;;:::i;:::-;-1:-1:-1;10952:1:203;10941:13;;10765:195::o;11225:530::-;11410:3;11448:6;11442:13;11464:66;11523:6;11518:3;11511:4;11503:6;11499:17;11464:66;:::i;:::-;11599:2;11595:15;;;;11612:66;11591:88;11552:16;;;;11577:103;;;11707:2;11696:14;;11689:30;;;;11746:2;11735:14;;11225:530;-1:-1:-1;;11225:530:203:o;11760:175::-;11797:3;11841:4;11834:5;11830:16;11870:4;11861:7;11858:17;11855:43;;11878:18;;:::i;:::-;11927:1;11914:15;;11760:175;-1:-1:-1;;11760:175:203:o;11940:128::-;12007:9;;;12028:11;;;12025:37;;;12042:18;;:::i;12073:168::-;12146:9;;;12177;;12194:15;;;12188:22;;12174:37;12164:71;;12215:18;;:::i;12246:639::-;12496:6;12491:3;12484:19;12466:3;12522:2;12555;12550:3;12546:12;12587:6;12581:13;12652:2;12644:6;12640:15;12673:1;12683:175;12697:6;12694:1;12691:13;12683:175;;;12760:13;;12746:28;;12796:14;;;;12833:15;;;;12719:1;12712:9;12683:175;;;-1:-1:-1;12874:5:203;;12246:639;-1:-1:-1;;;;;;;12246:639:203:o;12890:184::-;-1:-1:-1;;;12939:1:203;12932:88;13039:4;13036:1;13029:15;13063:4;13060:1;13053:15","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","call(bytes32,bytes)":"3ae7af08","callViaSelector(bytes)":"96f09da6","echo(string)":"f15da729","msgSender()":"d737d0c7","supportsInterface(bytes4)":"01ffc9a7","world()":"30b67baa"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callViaSelector\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"echo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/SystemSwitch.t.sol\":\"EchoSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/gas-report/src/GasReporter.sol\":{\"keccak256\":\"0xf0b03a19a92cd2e9950c25b6d307e5aeca4a64be8932194431197d0570e9bf3b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef2a14f0fb6e5bcab0c70d3648d247c3919c63eabc8b226be4d1f359d8af860f\",\"dweb:/ipfs/QmXi1HgeUNmS9GwSFMDJa8QVT7KiENG9VjgBB78hpHrHV6\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4\",\"dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xe0bc789337c31551a3ad42fd63aba2489a3aa8567d9f3140b3abc9abdc0d2f1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d5313aaa217e563083d9e4ded9479d673b17ba71a189b6a0315839812a5c57a\",\"dweb:/ipfs/QmQJfHFMSPrS6p6q3rzKX6HDNCVsQQAWxGdd383FSfKChd\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x7335db1982f43f867f90c3e151e3cc6d6ad40ee76401e2e06b8fdff257d6526f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a49d381ef0a0defc90f41166bc7f45cf31e8d82d1517e6a323a90e79b4e45d1f\",\"dweb:/ipfs/QmP46aGM8cYPkn6C4rGnrumcg24g7aUzCAez41zPs2rqhx\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xbe6448092b2d0c77a7cb282e8a452732587a6e04802ad21f4da27a9d6ef1496a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d098409f9352637599b897d046ad23e20894ea3a8460687df2a13d2d960966d\",\"dweb:/ipfs/Qmd3w6dSq3kQVQQtH94wcKRzkaNEDWcE2m9bgbWWDqNE3w\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2\",\"dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0\",\"dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a\",\"dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc\",\"dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d\",\"dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x9c3ba4c889db2cc2155ddfc966f5df45cf73739cacc358e0ed71ee9d34d9cef9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bc8e8abc3d5ce2af06c3a9f37ebe69cb287514c4572327b09d26121133646e5\",\"dweb:/ipfs/QmY7BmHTiGAJabiLZXLx2zsRs9HfZzK97kwmnwfCidcHZ5\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac\",\"dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115\",\"dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1\",\"dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5\",\"dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xf2ac4fe9b94aba49819b8bfd9952a73e21bd30aa956aa3a0ba4333d0e4891e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41b0bb60c662aab1287d0ec92cdd7ce07e6a732ed8d5e6045e14c7ba49d4ce8\",\"dweb:/ipfs/QmYMHVsvJpDrpFW24uHmJFjA8tbr7WjyP4KAFnroApP7Br\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xd886462cb60be5929d17bed2740225effa8149ef6358378e9e1f385d58673be9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f66f49397097f9445159417fb61bd362de7849b1e572a3a9b5cb0536636a3d9\",\"dweb:/ipfs/QmPYEREcaUyoqykx4hjJG4k3P9HYmAM4gAxvGsJT6yWqvn\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3\",\"dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x08f813a47c9b17e647c4051b310fb7b04e2af87c5440f4c916e4e6b5bfb29710\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a7966452656a25e3555e39f10121a69690b0ecf23524c073f61f9ea31a922f3\",\"dweb:/ipfs/QmQiEsLYyZFBZbcAbzwSK2dKxpj7xbs7CPLt3py3uGZSSN\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x5a32d464b56d13b9cf93f15c366e1ba8c4e2242bbad3990829c7f674e49ac2f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf1460050534fbdf4b2615c9dee03aed9d84bc0198cb082b10e579ab01d568e\",\"dweb:/ipfs/Qma2zugjeP748bkmbYhqVrzrKcdn18KLH3TZMfVuhHq2M4\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x6f21b3b6e6c202a1f9a5ba3ce7a656d38b51e1f1755a7ba3d1bc4c083a94aa94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5499fa030ff8dee5db70851dc678a9f0eb7c2a548f27fd5a3ecd0b44038642a\",\"dweb:/ipfs/Qme3ZGKP1YYMt98rFJ8uRRZ2jgWaqNdKAS9HaEP4HYPrB6\"]},\"node_modules/@latticexyz/store/src/StoreData.sol\":{\"keccak256\":\"0x4e451128c33a01d520c1944b3db42a62c158aea8fa11e786a58a0f719a189526\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2f98f30a7b2c9ef020e274b87ae0fa66d1380343a00ecf6bd796ae31cd9b279\",\"dweb:/ipfs/QmYXHSBn4Hp7cimDLKy86ep23v2VRUS6dLPevcVMs3dJrw\"]},\"node_modules/@latticexyz/store/src/StoreRead.sol\":{\"keccak256\":\"0xd918972009bd009dbad7032b8ff076928cec18c0891bb12493a1799df83e9cfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://966bb2090623b9a6aae0e5df9ae4c9c21bbde97867a239303c934c765eebf738\",\"dweb:/ipfs/QmRui6vJ8UfNHAueDyRuSXfW7wwuxRxAHgGjB7wVJEB6cJ\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7\",\"dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6\",\"dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x6ba24d7c79f616a40a5a28466a113c3b491196ed43a236124ae9f52f940ebae6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c055a11a1a52d820e5f71c1434b94b2083304d94655d7dbcefb7c7b4e42a095f\",\"dweb:/ipfs/QmUU119ZHn9S3ExK8ZhNyHbdxWMu3RasLDZco9vR9KDQJw\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x0d5cb177f2e3f968b5d8962727ee95f6ec12f2f02635bd3388e8ba658a513782\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c1f989b97f782ba8a7b7aa85c79564a4eeca21e8c0c255d287d5a2fb42700e9\",\"dweb:/ipfs/QmXVeQ9p6b8GRMYE8QWPR89xRsMWRQsxPMgQHsUvMWbLeb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x92e5306a8572903c6ed2ede4713de8356221511aaa9043a115010d8dc504d95d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c36a58e47472e86c8b995c33eef1be95c7073d30e8e4b59b4c65413cbe34f695\",\"dweb:/ipfs/QmaHP8apm4XnMSQkMT4Wysu8LxVSnH5JcPne5PV8YPyJNv\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xc1ce9530a25c9e1ebc6a4d1789f26b9607f09b38132a64ced9cfcf34e3011e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d67414de99946c6c199fce2700a2765e279d4fa9c0ff665035193883221979ee\",\"dweb:/ipfs/QmViGZuPahjSGa18UtAjSXbAao9wuMK4m6hxjtX6pDqqU7\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793\",\"dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC\"]},\"node_modules/@latticexyz/store/src/leftMask.sol\":{\"keccak256\":\"0xe050786c52cfb1da012bba86744d2a89f8aa6507342e498c96fbe013b0d6302f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a62d2f8eb85ddc6de911a0b415bbcf666001ecfd15e681f718cb9ae053a3a793\",\"dweb:/ipfs/QmXZHfKXZNQRJMqLpS15kgZgMfMUkoB8FhypDWDaYaqtJG\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81\",\"dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1\",\"dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49\",\"dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0xca2e2218bccd60ed690f29152b234a553f3021cad4903c0cfb5cf757fa41d650\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65f3bf5b851072ba1367ec74b3c66cab6185f3c8c8d6ada007cdc8c513465d25\",\"dweb:/ipfs/QmdHsBNc7ccvTK7VDB9yAktdbRNBrEsUdBNFZTqdq8Vao2\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491\",\"dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0x963a4fc3983bf92a473e67f49b62b8f52d94360bb904664b24bbff844e6a4a41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cf0ea9f68a1a9738b116259dc2cb06e98cc591d82b2c271b0e70e8daa742952\",\"dweb:/ipfs/QmRVxuBtGgw49v3KGm3HTBNS5ZJ9wEvENwipJEFEtoiaZ4\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x09324c2d43eac847a312e1879de1019d1b6eb333d9c9e0d42c449d76f5d9fc89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd6f751c31f1305ffb328b1cd4bcc3999439f63f2b8ad9a33bbebdccdf60e716\",\"dweb:/ipfs/QmRfj5xWwC3wzFr9iAQBr1pAQmLYPJhDRXyRcJpYfhDdoE\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1\",\"dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d\",\"dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x9ace961d4e283e0974762fddb14bb15e256d1d1086c813957fa0a0c9abeca900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ce3e6875d5ae61e12f3a36b8cdd2aa42e137f4d356109f89101fc7ea2d38f35\",\"dweb:/ipfs/QmbCarvuyKZhaEKebPnzwxCrXPGZvZB5AnJxfXgCgex9py\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x96b32546011ad67c3d03815dfd9375e9f8a255f98aaf89880afa1c8548d372b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58294560e554b8d8c6e3e870768523aa034631d4908ce25e730bb372ce7795c\",\"dweb:/ipfs/QmU9KfaZRNmQdoZE5bNrMN6QJCm7HGfsCBPvBGbMLLq9E5\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xc7da95c29b6dc76d21ea866139e4cefeceeec094326811a4e5afafe494d6a881\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3048f85d42046b460ff285e38091a18ff848a489670e278b233669baecc2d6ef\",\"dweb:/ipfs/QmPbeYVnPefPmtpaXXAGAjEGXjducZf9sF8fKqgfENCpwj\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83\",\"dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c\",\"dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xd0060c58956a1fe0855bcd9099e8764922f0d3b96f9683bd9622b8da05524f19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6098c318c6b2606aa0a31554c6dd5923b6c106c24daa2f1119311cd4f4e47bce\",\"dweb:/ipfs/QmZTSSpfmNWakCYvFFZhd7zjmnkNPuSeYKhfCQwZ2gjRWL\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd\",\"dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x2ec34d896ea59d4bd47b99c1c1476c9c8f94f21d8af5f35ceebfeced4dd48ec2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://97dc97678b209c5e69d8b45adb3fe8c8d8b8fffbd725a8deb462c790a6a58a01\",\"dweb:/ipfs/QmbUntQJj9n55PDjXcdJtmsWSPdWzyhbe6UCK9iHJuq3XM\"]},\"node_modules/@latticexyz/world/src/World.sol\":{\"keccak256\":\"0x2fa1e13f367a2110bce824ed5fc8b3d74cf60b0075492a7831dc887fc47de54b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7afd2c5fddf3d635a25a03aeb34991036ec8a9a59f44ea323f8c1f3f17bbf14\",\"dweb:/ipfs/QmbYiNvJmD8mCjeAY83Jebb54dTcgYd4Knr9jbKnMcDwf6\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518\",\"dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0x7daa706e844ddc2ffa9ff2197139fa73faee614030c5d541e339c219129005ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62da4413068810e6fa32ef87b2a83386a0084ec2bb26722515127e5893281cbc\",\"dweb:/ipfs/Qma5SLsHRq3igdXfKz24XSGfMd3dXyNxv52WSTsrcLRWPV\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255\",\"dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5\",\"dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf103db760a912d42dac0c409feb2d1929864ae81f89a7186047ea6f98b9db2ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ee556bbf7f7aa2f221e1f5a9d80caca8d4e5bc9282f59d5611a7c9ea7c06024\",\"dweb:/ipfs/QmQouopBhk5VuzdUSVc9MC3C5nhbm1MgHmQhemf6w66WxE\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8\",\"dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreRegistrationSystem.sol\":{\"keccak256\":\"0xb5e41596b245dbb0f4317174ae08c963a55df07cfd1a2e65bd082628bc446350\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://007f0e50c7f40d3932c5db51f729148f7d67573ef2f429043d901c7b017d7f43\",\"dweb:/ipfs/QmdmnY9RFyGjhmjSif3wZYHSMhtkTNhxi74dzVzsQBgi2N\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0\",\"dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad\",\"dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x2fd9727c04a06dacd957c320e5c91844e389df164a02f6c35e169852d974a1f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfab99486f9011db6590d75947a8510540bc5d6160866cfd1fafe16daa024961\",\"dweb:/ipfs/QmPAyaKJwhawWcyegfHv1QkJYzdAMpySok2gDKVPpw1rvD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x8bcbbd417bc83b92c1d40444cf2e617d8a5c7e4d7486dcc3467fef2470338bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aedd3d896ccc900aa9a4f53ec7a9245e5630f51e847a0e2356e12e4492084a8e\",\"dweb:/ipfs/QmRQJwy5XYHGXT973hYdPUR6cG8fSDPi8kPgprYJXUfuVf\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0xed3112d1dfeb8afa9be21cc3bf70f7af31b0443e9579f080e7ac2640664b8426\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://571277bf66022fb97fb43948379b560c6d6904dc0272f91b30d3ab16a5b76c91\",\"dweb:/ipfs/QmNhb9rrrW8KXzLfg3eiUR86hnRhaD2kzN5mAcWuWQ4pu5\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x334f30cf5cac3f795cd63f15582a6a50c91c91644000a1a5c3005a4c17b075ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79369df71ea24d4eb6579f9edc5ac3f8c8d4fe2563db7438c957f7cd8fd696d4\",\"dweb:/ipfs/QmZBQv6xBpXWocxy4nX5o8XJYuvi88y69YmHJYUGgGFRN9\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x760eec42bbfbdb497a80fa704956c82bca38d21ee220a1671ac7fc1364ddc0ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://313982b1791750271b460fa94c3ea54eeb2d88b3093ab2cace6014a6c9ee387b\",\"dweb:/ipfs/QmVagcNagZkFZeVieECp53rjZEYBB6LU8HP4BjKzfiC4Qr\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xb59422d88ec4d7ea5870bfbcd26cce216808aca2524d78be044e6246c2e0c8cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://690489521124436a18dd3b2efc1c28636488414b82c6dabf743bde1c8f9ab70b\",\"dweb:/ipfs/Qma89LxYq3aBdNZnsiH2qKuq47gmSn9QpeoFe23pahus5Z\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xa6dd49d8d3bc8ce68d45ebc01f087ef83b1d758e9967322fd15cf641331c2527\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a80f0382a7bad47b1b947bc9b447eafb35599b0e11a9bdcb45c7cddb3bc1375a\",\"dweb:/ipfs/QmRBWAsqUya6uxXn5fqJPgnkytDfp8HXixcymwTmYKuoPc\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x43cb675401e3e464a93ae0ddaefdb6ac03b734b7226ba89b8727d6421e50e2e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a37a9d6881779113b1b78b0e9175b64089da881be1176fc764ceaee9fc65436\",\"dweb:/ipfs/QmXgCyyJUAAn99Czgv51nkr6qi9hFduhJpybkn95ipJHJL\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xd0128bfb43b2afdc0c0410b6a642ce7b5ae4e5c90c367e542ea0b3e8d02eba22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59fd7075792470f625e15e7c7a5d377b6657b26ce22a82c705888c2773840330\",\"dweb:/ipfs/QmdPygA9VW1Zdds4FTejEDSEKzaPWDFvXP1VqsaJB6KF8q\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x20ad3ee26ef118cb8b055803c4a5ef2aac4791ce9e8720fc6a549120c53ab37a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58c1a2e3abb381a36696aeb3588a2604706e88b8505caddbdb696f96249e6231\",\"dweb:/ipfs/QmQvPVUFGBRpbaK9et2L7rVVmCByD1gDhaFvtJNL7cM7d2\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0xa9a5ebaa93ce6fe8b1f2cef5fd1350ea755d2ab0ff7ae2a5c369e493c2d205d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ba46cddd36f4a69e120e11edb0cbb8cd8d8363636544fe21e9712e41786f231\",\"dweb:/ipfs/Qmc87CiTYDULyEwTZmbfHcrqx2gNRrkSakYdS6wRXi7LQN\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218\",\"dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc\"]},\"node_modules/@latticexyz/world/src/modules/core/CoreModule.sol\":{\"keccak256\":\"0x1854f68cb404adb13910c7cb5dc91b4db83b33705a92717485df16742acfac43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1119dea8f6a76977e6327b789fae9023eedd63df9a50b6a7b4c6190f02de10a9\",\"dweb:/ipfs/QmXJ6YthgxX5ybpCgcECBHC2uPnycnC7mzh3KTbF9vZWDz\"]},\"node_modules/@latticexyz/world/src/modules/core/CoreRegistrationSystem.sol\":{\"keccak256\":\"0x4969fab8e65df062b3ee1d5c55c5dc980b4c8d531a90977e5f318500eafe2125\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94ca575dec2084e8ec0558c6866af383fea4f5111079f06db8c78b1a7dc78417\",\"dweb:/ipfs/QmZCHfyhMQ4Z4sJvW9uzYhuTNTThoRwH8Usqx6q95AbNSb\"]},\"node_modules/@latticexyz/world/src/modules/core/constants.sol\":{\"keccak256\":\"0xbe6408440b758884cfff869ae6c8aefa476ab97b07855dd51571bb358e9ecae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://854427618d6d700c2dbba45cc475bd341b14612d4dc05af687371dc725e0a11e\",\"dweb:/ipfs/QmXueKPv6WDyAwjwej5XHnBTMQeUYEbtgNryqt4Tnsj3sK\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/AccessManagementSystem.sol\":{\"keccak256\":\"0x29cd0f1a2ec749bc25774682977cad4dd238602a3b4e926cc08bb7781fabf2bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d1f0b23e9ed303b543e943abcb5641d0744e2c1ae003df6dea877a070f96e0\",\"dweb:/ipfs/QmfQj5P8Lw6DfMfVnhsAaDCtN6iYfKp8V4uxX5LQQnzxLo\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/BalanceTransferSystem.sol\":{\"keccak256\":\"0x8170eb46e9716b8040b9a95d8740e1e897538afb1da95a1994cba7907522b4fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b19dbd9f3ca1f541883879985589095f851bdd201d9cdde2d6742dda9ad01a2e\",\"dweb:/ipfs/QmTgSMvsVFAEMK72D7myoJtEykDxAMweueJNEagSChyA1Y\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/BatchCallSystem.sol\":{\"keccak256\":\"0xf24b9cc96cccb8ef98c9aa8585e4a5c003b3b8a00c5a9c6db5c750460960a7d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa918bcba66835a0866a11c5b43b5da11d68fb68c697f89a273d5dd3a5f1f5c\",\"dweb:/ipfs/QmZyyVdNoUiyLMimmNkZkQv5o86k4sGyo1CGEMrt794eC2\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0xc9b0efce92d9be51ff564fa18efc13365a64cde8dd2e2ef88bac4abe7d432a3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86d2a49cc96ad7e783490c6e44aa2d078444505edc49d1061711200a607441a6\",\"dweb:/ipfs/QmbKkJnRkUE47uWwmhqqmaVozRXLt45ebSZbZnpJpnJfvj\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/StoreRegistrationSystem.sol\":{\"keccak256\":\"0xf7edf07894b8c6938b77491d36944d22b37b9e9e8105a689120f66e76450d3dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55be67cb294109fbb9a323c5f788aa7d1b844f7bc57f5bed6b758d2d80447a24\",\"dweb:/ipfs/QmUv8FwmcV6mP2o7aZiZkRxrnQdnaRLYiFWs8ifaEadKJr\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xbae6190d740add0ee986f82b1143f8f160d232e0f3c2eb4d7908040f07b45427\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://022b092b8757770e5799d22de9b09b774f6ecae9820e91847f794785fbdf7198\",\"dweb:/ipfs/QmaSUvvjFYZT2NmNUQJer7L9qAz4P1KJVQ8Z2Giro9Cpxm\"]},\"node_modules/@latticexyz/world/src/modules/core/types.sol\":{\"keccak256\":\"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3\",\"dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x229777eeaac1099104e10832f59bc02f3494a5b6de8225810a3b175643d97039\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bf7e4df65be1808418d8dbb1decb346ec2a3b7a11b895818ae90f319522f795\",\"dweb:/ipfs/Qmco2UnqR9oop9ppY2Zbv1LWCQKGM99A7j6iWGsMCrwSmy\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xdd201aa30700e70c35c1d4e50c375e511d798961183c8531f947c2d15969debb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9c165b1beb7c1d3f75107407c34a5b3424ec8cb322d494892bceed23323ffb9\",\"dweb:/ipfs/QmdH8rtgJaENsMc6HodAbahKg7PiZUJwoZufnHCw3TwrBx\"]},\"node_modules/@latticexyz/world/src/version.sol\":{\"keccak256\":\"0x5db84611779a814a582b5559f636640e3599dba1f36b99c529a19ce73b2d2d44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b06ae2f3b888ba3dc719b2d19f60deb7c3398324f636c9dad0b92706dfc08f5a\",\"dweb:/ipfs/QmaLgppohesJhF3ZdMWwM8NHcLiv8SRSCArS4QssfG2dC1\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xc7e0aa6e4746b2d0e2eace7e462adf2f03dbc7f0c880794a577bfdbce426fcc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7538caf090fc69fff272049cfc00d0f35ae63ee700c2091b9cc4ed5709a3b45\",\"dweb:/ipfs/QmYriK2VpsVAePPLTP6mDZkTYMT9AkgmC2C93ktjVMDaP4\"]},\"node_modules/@latticexyz/world/test/createCoreModule.sol\":{\"keccak256\":\"0xb0baab0e9c67c1b945a95291aed4e16cf73ed7b95bc671076fd1a7d960e043d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b603f7c656fed7e592cd598ca94ac46fab6ed31a6d951cf4661bc7f3f24166f2\",\"dweb:/ipfs/QmeNDUPYh3yuUj6oQ19VgKYruY1kDWenNhywzWYXeuxy39\"]},\"node_modules/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"node_modules/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"node_modules/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"node_modules/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"node_modules/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"node_modules/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"node_modules/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"node_modules/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"node_modules/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"node_modules/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"node_modules/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"node_modules/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"node_modules/forge-std/src/Test.sol\":{\"keccak256\":\"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb\",\"dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"node_modules/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"node_modules/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x8242e32af7f919eebac06852a64d354f8d24ee777079244d430852f22d47230e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32745bde5e8e24e0c293545b1047a580a77602f01b8695c2236192187bdc1da\",\"dweb:/ipfs/QmeX59sxxU6SoM9o1KbCDxuR4DmHB3nyx1Kee4nLgfq6UH\"]},\"test/SystemSwitch.t.sol\":{\"keccak256\":\"0x4b94a3137e904e582c3af482afe01316d34b67d57bdd31b65c7174364a530c7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9276851302c3115c7016e495cc2557c1c1a8d9dc2fa17d9d5cf5d49d776742dd\",\"dweb:/ipfs/Qmf72JqyVeSe6RG13ZbAaq5m6zPz4N5viECBftKNcFcV41\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"callViaSelector","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"message","type":"string"}],"stateMutability":"view","type":"function","name":"echo","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"msgSender","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"world","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"test/SystemSwitch.t.sol":"EchoSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/gas-report/src/GasReporter.sol":{"keccak256":"0xf0b03a19a92cd2e9950c25b6d307e5aeca4a64be8932194431197d0570e9bf3b","urls":["bzz-raw://ef2a14f0fb6e5bcab0c70d3648d247c3919c63eabc8b226be4d1f359d8af860f","dweb:/ipfs/QmXi1HgeUNmS9GwSFMDJa8QVT7KiENG9VjgBB78hpHrHV6"],"license":"MIT"},"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb","urls":["bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4","dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0xe0bc789337c31551a3ad42fd63aba2489a3aa8567d9f3140b3abc9abdc0d2f1b","urls":["bzz-raw://6d5313aaa217e563083d9e4ded9479d673b17ba71a189b6a0315839812a5c57a","dweb:/ipfs/QmQJfHFMSPrS6p6q3rzKX6HDNCVsQQAWxGdd383FSfKChd"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x7335db1982f43f867f90c3e151e3cc6d6ad40ee76401e2e06b8fdff257d6526f","urls":["bzz-raw://a49d381ef0a0defc90f41166bc7f45cf31e8d82d1517e6a323a90e79b4e45d1f","dweb:/ipfs/QmP46aGM8cYPkn6C4rGnrumcg24g7aUzCAez41zPs2rqhx"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xbe6448092b2d0c77a7cb282e8a452732587a6e04802ad21f4da27a9d6ef1496a","urls":["bzz-raw://1d098409f9352637599b897d046ad23e20894ea3a8460687df2a13d2d960966d","dweb:/ipfs/Qmd3w6dSq3kQVQQtH94wcKRzkaNEDWcE2m9bgbWWDqNE3w"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf","urls":["bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2","dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827","urls":["bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0","dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5","urls":["bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a","dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212","urls":["bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc","dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f","urls":["bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d","dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x9c3ba4c889db2cc2155ddfc966f5df45cf73739cacc358e0ed71ee9d34d9cef9","urls":["bzz-raw://0bc8e8abc3d5ce2af06c3a9f37ebe69cb287514c4572327b09d26121133646e5","dweb:/ipfs/QmY7BmHTiGAJabiLZXLx2zsRs9HfZzK97kwmnwfCidcHZ5"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37","urls":["bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac","dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f","urls":["bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115","dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b","urls":["bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1","dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7","urls":["bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5","dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0xf2ac4fe9b94aba49819b8bfd9952a73e21bd30aa956aa3a0ba4333d0e4891e91","urls":["bzz-raw://c41b0bb60c662aab1287d0ec92cdd7ce07e6a732ed8d5e6045e14c7ba49d4ce8","dweb:/ipfs/QmYMHVsvJpDrpFW24uHmJFjA8tbr7WjyP4KAFnroApP7Br"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xd886462cb60be5929d17bed2740225effa8149ef6358378e9e1f385d58673be9","urls":["bzz-raw://6f66f49397097f9445159417fb61bd362de7849b1e572a3a9b5cb0536636a3d9","dweb:/ipfs/QmPYEREcaUyoqykx4hjJG4k3P9HYmAM4gAxvGsJT6yWqvn"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401","urls":["bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3","dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x08f813a47c9b17e647c4051b310fb7b04e2af87c5440f4c916e4e6b5bfb29710","urls":["bzz-raw://0a7966452656a25e3555e39f10121a69690b0ecf23524c073f61f9ea31a922f3","dweb:/ipfs/QmQiEsLYyZFBZbcAbzwSK2dKxpj7xbs7CPLt3py3uGZSSN"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x5a32d464b56d13b9cf93f15c366e1ba8c4e2242bbad3990829c7f674e49ac2f7","urls":["bzz-raw://adf1460050534fbdf4b2615c9dee03aed9d84bc0198cb082b10e579ab01d568e","dweb:/ipfs/Qma2zugjeP748bkmbYhqVrzrKcdn18KLH3TZMfVuhHq2M4"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x6f21b3b6e6c202a1f9a5ba3ce7a656d38b51e1f1755a7ba3d1bc4c083a94aa94","urls":["bzz-raw://e5499fa030ff8dee5db70851dc678a9f0eb7c2a548f27fd5a3ecd0b44038642a","dweb:/ipfs/Qme3ZGKP1YYMt98rFJ8uRRZ2jgWaqNdKAS9HaEP4HYPrB6"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreData.sol":{"keccak256":"0x4e451128c33a01d520c1944b3db42a62c158aea8fa11e786a58a0f719a189526","urls":["bzz-raw://c2f98f30a7b2c9ef020e274b87ae0fa66d1380343a00ecf6bd796ae31cd9b279","dweb:/ipfs/QmYXHSBn4Hp7cimDLKy86ep23v2VRUS6dLPevcVMs3dJrw"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreRead.sol":{"keccak256":"0xd918972009bd009dbad7032b8ff076928cec18c0891bb12493a1799df83e9cfa","urls":["bzz-raw://966bb2090623b9a6aae0e5df9ae4c9c21bbde97867a239303c934c765eebf738","dweb:/ipfs/QmRui6vJ8UfNHAueDyRuSXfW7wwuxRxAHgGjB7wVJEB6cJ"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416","urls":["bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7","dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3","urls":["bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6","dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x6ba24d7c79f616a40a5a28466a113c3b491196ed43a236124ae9f52f940ebae6","urls":["bzz-raw://c055a11a1a52d820e5f71c1434b94b2083304d94655d7dbcefb7c7b4e42a095f","dweb:/ipfs/QmUU119ZHn9S3ExK8ZhNyHbdxWMu3RasLDZco9vR9KDQJw"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x0d5cb177f2e3f968b5d8962727ee95f6ec12f2f02635bd3388e8ba658a513782","urls":["bzz-raw://6c1f989b97f782ba8a7b7aa85c79564a4eeca21e8c0c255d287d5a2fb42700e9","dweb:/ipfs/QmXVeQ9p6b8GRMYE8QWPR89xRsMWRQsxPMgQHsUvMWbLeb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x92e5306a8572903c6ed2ede4713de8356221511aaa9043a115010d8dc504d95d","urls":["bzz-raw://c36a58e47472e86c8b995c33eef1be95c7073d30e8e4b59b4c65413cbe34f695","dweb:/ipfs/QmaHP8apm4XnMSQkMT4Wysu8LxVSnH5JcPne5PV8YPyJNv"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xc1ce9530a25c9e1ebc6a4d1789f26b9607f09b38132a64ced9cfcf34e3011e91","urls":["bzz-raw://d67414de99946c6c199fce2700a2765e279d4fa9c0ff665035193883221979ee","dweb:/ipfs/QmViGZuPahjSGa18UtAjSXbAao9wuMK4m6hxjtX6pDqqU7"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076","urls":["bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793","dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC"],"license":"MIT"},"node_modules/@latticexyz/store/src/leftMask.sol":{"keccak256":"0xe050786c52cfb1da012bba86744d2a89f8aa6507342e498c96fbe013b0d6302f","urls":["bzz-raw://a62d2f8eb85ddc6de911a0b415bbcf666001ecfd15e681f718cb9ae053a3a793","dweb:/ipfs/QmXZHfKXZNQRJMqLpS15kgZgMfMUkoB8FhypDWDaYaqtJG"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5","urls":["bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81","dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2","urls":["bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84","dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04","urls":["bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1","dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d","urls":["bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49","dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0xca2e2218bccd60ed690f29152b234a553f3021cad4903c0cfb5cf757fa41d650","urls":["bzz-raw://65f3bf5b851072ba1367ec74b3c66cab6185f3c8c8d6ada007cdc8c513465d25","dweb:/ipfs/QmdHsBNc7ccvTK7VDB9yAktdbRNBrEsUdBNFZTqdq8Vao2"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c","urls":["bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491","dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0x963a4fc3983bf92a473e67f49b62b8f52d94360bb904664b24bbff844e6a4a41","urls":["bzz-raw://2cf0ea9f68a1a9738b116259dc2cb06e98cc591d82b2c271b0e70e8daa742952","dweb:/ipfs/QmRVxuBtGgw49v3KGm3HTBNS5ZJ9wEvENwipJEFEtoiaZ4"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x09324c2d43eac847a312e1879de1019d1b6eb333d9c9e0d42c449d76f5d9fc89","urls":["bzz-raw://bd6f751c31f1305ffb328b1cd4bcc3999439f63f2b8ad9a33bbebdccdf60e716","dweb:/ipfs/QmRfj5xWwC3wzFr9iAQBr1pAQmLYPJhDRXyRcJpYfhDdoE"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270","urls":["bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1","dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553","urls":["bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d","dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47","urls":["bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5","dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x9ace961d4e283e0974762fddb14bb15e256d1d1086c813957fa0a0c9abeca900","urls":["bzz-raw://3ce3e6875d5ae61e12f3a36b8cdd2aa42e137f4d356109f89101fc7ea2d38f35","dweb:/ipfs/QmbCarvuyKZhaEKebPnzwxCrXPGZvZB5AnJxfXgCgex9py"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x96b32546011ad67c3d03815dfd9375e9f8a255f98aaf89880afa1c8548d372b9","urls":["bzz-raw://c58294560e554b8d8c6e3e870768523aa034631d4908ce25e730bb372ce7795c","dweb:/ipfs/QmU9KfaZRNmQdoZE5bNrMN6QJCm7HGfsCBPvBGbMLLq9E5"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xc7da95c29b6dc76d21ea866139e4cefeceeec094326811a4e5afafe494d6a881","urls":["bzz-raw://3048f85d42046b460ff285e38091a18ff848a489670e278b233669baecc2d6ef","dweb:/ipfs/QmPbeYVnPefPmtpaXXAGAjEGXjducZf9sF8fKqgfENCpwj"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7","urls":["bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83","dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb","urls":["bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c","dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xd0060c58956a1fe0855bcd9099e8764922f0d3b96f9683bd9622b8da05524f19","urls":["bzz-raw://6098c318c6b2606aa0a31554c6dd5923b6c106c24daa2f1119311cd4f4e47bce","dweb:/ipfs/QmZTSSpfmNWakCYvFFZhd7zjmnkNPuSeYKhfCQwZ2gjRWL"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd","urls":["bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd","dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x2ec34d896ea59d4bd47b99c1c1476c9c8f94f21d8af5f35ceebfeced4dd48ec2","urls":["bzz-raw://97dc97678b209c5e69d8b45adb3fe8c8d8b8fffbd725a8deb462c790a6a58a01","dweb:/ipfs/QmbUntQJj9n55PDjXcdJtmsWSPdWzyhbe6UCK9iHJuq3XM"],"license":"MIT"},"node_modules/@latticexyz/world/src/World.sol":{"keccak256":"0x2fa1e13f367a2110bce824ed5fc8b3d74cf60b0075492a7831dc887fc47de54b","urls":["bzz-raw://a7afd2c5fddf3d635a25a03aeb34991036ec8a9a59f44ea323f8c1f3f17bbf14","dweb:/ipfs/QmbYiNvJmD8mCjeAY83Jebb54dTcgYd4Knr9jbKnMcDwf6"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a","urls":["bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518","dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0x7daa706e844ddc2ffa9ff2197139fa73faee614030c5d541e339c219129005ff","urls":["bzz-raw://62da4413068810e6fa32ef87b2a83386a0084ec2bb26722515127e5893281cbc","dweb:/ipfs/Qma5SLsHRq3igdXfKz24XSGfMd3dXyNxv52WSTsrcLRWPV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593","urls":["bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255","dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55","urls":["bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5","dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf103db760a912d42dac0c409feb2d1929864ae81f89a7186047ea6f98b9db2ed","urls":["bzz-raw://9ee556bbf7f7aa2f221e1f5a9d80caca8d4e5bc9282f59d5611a7c9ea7c06024","dweb:/ipfs/QmQouopBhk5VuzdUSVc9MC3C5nhbm1MgHmQhemf6w66WxE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97","urls":["bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8","dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreRegistrationSystem.sol":{"keccak256":"0xb5e41596b245dbb0f4317174ae08c963a55df07cfd1a2e65bd082628bc446350","urls":["bzz-raw://007f0e50c7f40d3932c5db51f729148f7d67573ef2f429043d901c7b017d7f43","dweb:/ipfs/QmdmnY9RFyGjhmjSif3wZYHSMhtkTNhxi74dzVzsQBgi2N"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263","urls":["bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0","dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62","urls":["bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad","dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x2fd9727c04a06dacd957c320e5c91844e389df164a02f6c35e169852d974a1f8","urls":["bzz-raw://cfab99486f9011db6590d75947a8510540bc5d6160866cfd1fafe16daa024961","dweb:/ipfs/QmPAyaKJwhawWcyegfHv1QkJYzdAMpySok2gDKVPpw1rvD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x8bcbbd417bc83b92c1d40444cf2e617d8a5c7e4d7486dcc3467fef2470338bcb","urls":["bzz-raw://aedd3d896ccc900aa9a4f53ec7a9245e5630f51e847a0e2356e12e4492084a8e","dweb:/ipfs/QmRQJwy5XYHGXT973hYdPUR6cG8fSDPi8kPgprYJXUfuVf"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0xed3112d1dfeb8afa9be21cc3bf70f7af31b0443e9579f080e7ac2640664b8426","urls":["bzz-raw://571277bf66022fb97fb43948379b560c6d6904dc0272f91b30d3ab16a5b76c91","dweb:/ipfs/QmNhb9rrrW8KXzLfg3eiUR86hnRhaD2kzN5mAcWuWQ4pu5"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x334f30cf5cac3f795cd63f15582a6a50c91c91644000a1a5c3005a4c17b075ac","urls":["bzz-raw://79369df71ea24d4eb6579f9edc5ac3f8c8d4fe2563db7438c957f7cd8fd696d4","dweb:/ipfs/QmZBQv6xBpXWocxy4nX5o8XJYuvi88y69YmHJYUGgGFRN9"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x760eec42bbfbdb497a80fa704956c82bca38d21ee220a1671ac7fc1364ddc0ed","urls":["bzz-raw://313982b1791750271b460fa94c3ea54eeb2d88b3093ab2cace6014a6c9ee387b","dweb:/ipfs/QmVagcNagZkFZeVieECp53rjZEYBB6LU8HP4BjKzfiC4Qr"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xb59422d88ec4d7ea5870bfbcd26cce216808aca2524d78be044e6246c2e0c8cd","urls":["bzz-raw://690489521124436a18dd3b2efc1c28636488414b82c6dabf743bde1c8f9ab70b","dweb:/ipfs/Qma89LxYq3aBdNZnsiH2qKuq47gmSn9QpeoFe23pahus5Z"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xa6dd49d8d3bc8ce68d45ebc01f087ef83b1d758e9967322fd15cf641331c2527","urls":["bzz-raw://a80f0382a7bad47b1b947bc9b447eafb35599b0e11a9bdcb45c7cddb3bc1375a","dweb:/ipfs/QmRBWAsqUya6uxXn5fqJPgnkytDfp8HXixcymwTmYKuoPc"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x43cb675401e3e464a93ae0ddaefdb6ac03b734b7226ba89b8727d6421e50e2e8","urls":["bzz-raw://6a37a9d6881779113b1b78b0e9175b64089da881be1176fc764ceaee9fc65436","dweb:/ipfs/QmXgCyyJUAAn99Czgv51nkr6qi9hFduhJpybkn95ipJHJL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xd0128bfb43b2afdc0c0410b6a642ce7b5ae4e5c90c367e542ea0b3e8d02eba22","urls":["bzz-raw://59fd7075792470f625e15e7c7a5d377b6657b26ce22a82c705888c2773840330","dweb:/ipfs/QmdPygA9VW1Zdds4FTejEDSEKzaPWDFvXP1VqsaJB6KF8q"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x20ad3ee26ef118cb8b055803c4a5ef2aac4791ce9e8720fc6a549120c53ab37a","urls":["bzz-raw://58c1a2e3abb381a36696aeb3588a2604706e88b8505caddbdb696f96249e6231","dweb:/ipfs/QmQvPVUFGBRpbaK9et2L7rVVmCByD1gDhaFvtJNL7cM7d2"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0xa9a5ebaa93ce6fe8b1f2cef5fd1350ea755d2ab0ff7ae2a5c369e493c2d205d5","urls":["bzz-raw://5ba46cddd36f4a69e120e11edb0cbb8cd8d8363636544fe21e9712e41786f231","dweb:/ipfs/Qmc87CiTYDULyEwTZmbfHcrqx2gNRrkSakYdS6wRXi7LQN"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588","urls":["bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218","dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/CoreModule.sol":{"keccak256":"0x1854f68cb404adb13910c7cb5dc91b4db83b33705a92717485df16742acfac43","urls":["bzz-raw://1119dea8f6a76977e6327b789fae9023eedd63df9a50b6a7b4c6190f02de10a9","dweb:/ipfs/QmXJ6YthgxX5ybpCgcECBHC2uPnycnC7mzh3KTbF9vZWDz"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/CoreRegistrationSystem.sol":{"keccak256":"0x4969fab8e65df062b3ee1d5c55c5dc980b4c8d531a90977e5f318500eafe2125","urls":["bzz-raw://94ca575dec2084e8ec0558c6866af383fea4f5111079f06db8c78b1a7dc78417","dweb:/ipfs/QmZCHfyhMQ4Z4sJvW9uzYhuTNTThoRwH8Usqx6q95AbNSb"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/constants.sol":{"keccak256":"0xbe6408440b758884cfff869ae6c8aefa476ab97b07855dd51571bb358e9ecae0","urls":["bzz-raw://854427618d6d700c2dbba45cc475bd341b14612d4dc05af687371dc725e0a11e","dweb:/ipfs/QmXueKPv6WDyAwjwej5XHnBTMQeUYEbtgNryqt4Tnsj3sK"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/AccessManagementSystem.sol":{"keccak256":"0x29cd0f1a2ec749bc25774682977cad4dd238602a3b4e926cc08bb7781fabf2bc","urls":["bzz-raw://98d1f0b23e9ed303b543e943abcb5641d0744e2c1ae003df6dea877a070f96e0","dweb:/ipfs/QmfQj5P8Lw6DfMfVnhsAaDCtN6iYfKp8V4uxX5LQQnzxLo"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/BalanceTransferSystem.sol":{"keccak256":"0x8170eb46e9716b8040b9a95d8740e1e897538afb1da95a1994cba7907522b4fc","urls":["bzz-raw://b19dbd9f3ca1f541883879985589095f851bdd201d9cdde2d6742dda9ad01a2e","dweb:/ipfs/QmTgSMvsVFAEMK72D7myoJtEykDxAMweueJNEagSChyA1Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/BatchCallSystem.sol":{"keccak256":"0xf24b9cc96cccb8ef98c9aa8585e4a5c003b3b8a00c5a9c6db5c750460960a7d1","urls":["bzz-raw://afa918bcba66835a0866a11c5b43b5da11d68fb68c697f89a273d5dd3a5f1f5c","dweb:/ipfs/QmZyyVdNoUiyLMimmNkZkQv5o86k4sGyo1CGEMrt794eC2"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/ModuleInstallationSystem.sol":{"keccak256":"0xc9b0efce92d9be51ff564fa18efc13365a64cde8dd2e2ef88bac4abe7d432a3d","urls":["bzz-raw://86d2a49cc96ad7e783490c6e44aa2d078444505edc49d1061711200a607441a6","dweb:/ipfs/QmbKkJnRkUE47uWwmhqqmaVozRXLt45ebSZbZnpJpnJfvj"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/StoreRegistrationSystem.sol":{"keccak256":"0xf7edf07894b8c6938b77491d36944d22b37b9e9e8105a689120f66e76450d3dc","urls":["bzz-raw://55be67cb294109fbb9a323c5f788aa7d1b844f7bc57f5bed6b758d2d80447a24","dweb:/ipfs/QmUv8FwmcV6mP2o7aZiZkRxrnQdnaRLYiFWs8ifaEadKJr"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xbae6190d740add0ee986f82b1143f8f160d232e0f3c2eb4d7908040f07b45427","urls":["bzz-raw://022b092b8757770e5799d22de9b09b774f6ecae9820e91847f794785fbdf7198","dweb:/ipfs/QmaSUvvjFYZT2NmNUQJer7L9qAz4P1KJVQ8Z2Giro9Cpxm"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/types.sol":{"keccak256":"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a","urls":["bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3","dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x229777eeaac1099104e10832f59bc02f3494a5b6de8225810a3b175643d97039","urls":["bzz-raw://0bf7e4df65be1808418d8dbb1decb346ec2a3b7a11b895818ae90f319522f795","dweb:/ipfs/Qmco2UnqR9oop9ppY2Zbv1LWCQKGM99A7j6iWGsMCrwSmy"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55","urls":["bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df","dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0xdd201aa30700e70c35c1d4e50c375e511d798961183c8531f947c2d15969debb","urls":["bzz-raw://d9c165b1beb7c1d3f75107407c34a5b3424ec8cb322d494892bceed23323ffb9","dweb:/ipfs/QmdH8rtgJaENsMc6HodAbahKg7PiZUJwoZufnHCw3TwrBx"],"license":"MIT"},"node_modules/@latticexyz/world/src/version.sol":{"keccak256":"0x5db84611779a814a582b5559f636640e3599dba1f36b99c529a19ce73b2d2d44","urls":["bzz-raw://b06ae2f3b888ba3dc719b2d19f60deb7c3398324f636c9dad0b92706dfc08f5a","dweb:/ipfs/QmaLgppohesJhF3ZdMWwM8NHcLiv8SRSCArS4QssfG2dC1"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xc7e0aa6e4746b2d0e2eace7e462adf2f03dbc7f0c880794a577bfdbce426fcc3","urls":["bzz-raw://d7538caf090fc69fff272049cfc00d0f35ae63ee700c2091b9cc4ed5709a3b45","dweb:/ipfs/QmYriK2VpsVAePPLTP6mDZkTYMT9AkgmC2C93ktjVMDaP4"],"license":"MIT"},"node_modules/@latticexyz/world/test/createCoreModule.sol":{"keccak256":"0xb0baab0e9c67c1b945a95291aed4e16cf73ed7b95bc671076fd1a7d960e043d8","urls":["bzz-raw://b603f7c656fed7e592cd598ca94ac46fab6ed31a6d951cf4661bc7f3f24166f2","dweb:/ipfs/QmeNDUPYh3yuUj6oQ19VgKYruY1kDWenNhywzWYXeuxy39"],"license":"MIT"},"node_modules/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"node_modules/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"node_modules/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"node_modules/forge-std/src/StdChains.sol":{"keccak256":"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6","urls":["bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d","dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx"],"license":"MIT"},"node_modules/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"node_modules/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"node_modules/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"node_modules/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"node_modules/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"node_modules/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"node_modules/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"node_modules/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"node_modules/forge-std/src/Test.sol":{"keccak256":"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24","urls":["bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb","dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x"],"license":"MIT"},"node_modules/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"node_modules/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"node_modules/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"node_modules/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"src/utils/SystemSwitch.sol":{"keccak256":"0x8242e32af7f919eebac06852a64d354f8d24ee777079244d430852f22d47230e","urls":["bzz-raw://d32745bde5e8e24e0c293545b1047a580a77602f01b8695c2236192187bdc1da","dweb:/ipfs/QmeX59sxxU6SoM9o1KbCDxuR4DmHB3nyx1Kee4nLgfq6UH"],"license":"MIT"},"test/SystemSwitch.t.sol":{"keccak256":"0x4b94a3137e904e582c3af482afe01316d34b67d57bdd31b65c7174364a530c7a","urls":["bzz-raw://9276851302c3115c7016e495cc2557c1c1a8d9dc2fa17d9d5cf5d49d776742dd","dweb:/ipfs/Qmf72JqyVeSe6RG13ZbAaq5m6zPz4N5viECBftKNcFcV41"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"test/SystemSwitch.t.sol","id":135838,"exportedSymbols":{"EchoSystem":[134941],"GasReporter":[226],"IBaseWorld":[24400],"RESOURCE_SYSTEM":[37052],"ROOT_NAMESPACE":[34848],"ResourceId":[2782],"System":[22601],"SystemSwitch":[126723],"SystemSwitchTest":[135837],"Test":[58812],"World":[23730],"WorldResourceIdInstance":[24272],"WorldResourceIdLib":[24145],"caller":[134947],"createCoreModule":[46913]},"nodeType":"SourceUnit","src":"32:8934:200","nodes":[{"id":134858,"nodeType":"PragmaDirective","src":"32:25:200","nodes":[],"literals":["solidity",">=","0.8",".21"]},{"id":134860,"nodeType":"ImportDirective","src":"59:42:200","nodes":[],"absolutePath":"node_modules/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":135838,"sourceUnit":58813,"symbolAliases":[{"foreign":{"id":134859,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58812,"src":"68:4:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134862,"nodeType":"ImportDirective","src":"102:73:200","nodes":[],"absolutePath":"node_modules/@latticexyz/gas-report/src/GasReporter.sol","file":"@latticexyz/gas-report/src/GasReporter.sol","nameLocation":"-1:-1:-1","scope":135838,"sourceUnit":227,"symbolAliases":[{"foreign":{"id":134861,"name":"GasReporter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226,"src":"111:11:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134864,"nodeType":"ImportDirective","src":"177:58:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/System.sol","file":"@latticexyz/world/src/System.sol","nameLocation":"-1:-1:-1","scope":135838,"sourceUnit":22602,"symbolAliases":[{"foreign":{"id":134863,"name":"System","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22601,"src":"186:6:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134866,"nodeType":"ImportDirective","src":"236:85:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol","file":"@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol","nameLocation":"-1:-1:-1","scope":135838,"sourceUnit":24401,"symbolAliases":[{"foreign":{"id":134865,"name":"IBaseWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24400,"src":"245:10:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134868,"nodeType":"ImportDirective","src":"322:56:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/World.sol","file":"@latticexyz/world/src/World.sol","nameLocation":"-1:-1:-1","scope":135838,"sourceUnit":23731,"symbolAliases":[{"foreign":{"id":134867,"name":"World","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23730,"src":"331:5:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134870,"nodeType":"ImportDirective","src":"379:79:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/test/createCoreModule.sol","file":"@latticexyz/world/test/createCoreModule.sol","nameLocation":"-1:-1:-1","scope":135838,"sourceUnit":46914,"symbolAliases":[{"foreign":{"id":134869,"name":"createCoreModule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46913,"src":"388:16:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134874,"nodeType":"ImportDirective","src":"459:116:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/WorldResourceId.sol","file":"@latticexyz/world/src/WorldResourceId.sol","nameLocation":"-1:-1:-1","scope":135838,"sourceUnit":24273,"symbolAliases":[{"foreign":{"id":134871,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2782,"src":"468:10:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":134872,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24145,"src":"480:18:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":134873,"name":"WorldResourceIdInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24272,"src":"500:23:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134876,"nodeType":"ImportDirective","src":"576:79:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/worldResourceTypes.sol","file":"@latticexyz/world/src/worldResourceTypes.sol","nameLocation":"-1:-1:-1","scope":135838,"sourceUnit":37059,"symbolAliases":[{"foreign":{"id":134875,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37052,"src":"585:15:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134878,"nodeType":"ImportDirective","src":"656:69:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/constants.sol","file":"@latticexyz/world/src/constants.sol","nameLocation":"-1:-1:-1","scope":135838,"sourceUnit":34921,"symbolAliases":[{"foreign":{"id":134877,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34848,"src":"665:14:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134880,"nodeType":"ImportDirective","src":"726:61:200","nodes":[],"absolutePath":"src/utils/SystemSwitch.sol","file":"../src/utils/SystemSwitch.sol","nameLocation":"-1:-1:-1","scope":135838,"sourceUnit":126724,"symbolAliases":[{"foreign":{"id":134879,"name":"SystemSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126723,"src":"735:12:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134941,"nodeType":"ContractDefinition","src":"789:570:200","nodes":[{"id":134891,"nodeType":"FunctionDefinition","src":"823:81:200","nodes":[],"body":{"id":134890,"nodeType":"Block","src":"874:30:200","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":134887,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23760,"src":"887:10:200","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":134888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"887:12:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":134886,"id":134889,"nodeType":"Return","src":"880:19:200"}]},"functionSelector":"d737d0c7","implemented":true,"kind":"function","modifiers":[],"name":"msgSender","nameLocation":"832:9:200","parameters":{"id":134883,"nodeType":"ParameterList","parameters":[],"src":"841:2:200"},"returnParameters":{"id":134886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134885,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":134891,"src":"865:7:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":134884,"name":"address","nodeType":"ElementaryTypeName","src":"865:7:200","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"864:9:200"},"scope":134941,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":134900,"nodeType":"FunctionDefinition","src":"908:73:200","nodes":[],"body":{"id":134899,"nodeType":"Block","src":"955:26:200","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":134896,"name":"_world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23782,"src":"968:6:200","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":134897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"968:8:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":134895,"id":134898,"nodeType":"Return","src":"961:15:200"}]},"functionSelector":"30b67baa","implemented":true,"kind":"function","modifiers":[],"name":"world","nameLocation":"917:5:200","parameters":{"id":134892,"nodeType":"ParameterList","parameters":[],"src":"922:2:200"},"returnParameters":{"id":134895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134894,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":134900,"src":"946:7:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":134893,"name":"address","nodeType":"ElementaryTypeName","src":"946:7:200","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"945:9:200"},"scope":134941,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":134910,"nodeType":"FunctionDefinition","src":"985:98:200","nodes":[],"body":{"id":134909,"nodeType":"Block","src":"1058:25:200","nodes":[],"statements":[{"expression":{"id":134907,"name":"message","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134902,"src":"1071:7:200","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":134906,"id":134908,"nodeType":"Return","src":"1064:14:200"}]},"functionSelector":"f15da729","implemented":true,"kind":"function","modifiers":[],"name":"echo","nameLocation":"994:4:200","parameters":{"id":134903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134902,"mutability":"mutable","name":"message","nameLocation":"1013:7:200","nodeType":"VariableDeclaration","scope":134910,"src":"999:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":134901,"name":"string","nodeType":"ElementaryTypeName","src":"999:6:200","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"998:23:200"},"returnParameters":{"id":134906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134905,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":134910,"src":"1043:13:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":134904,"name":"string","nodeType":"ElementaryTypeName","src":"1043:6:200","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1042:15:200"},"scope":134941,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":134927,"nodeType":"FunctionDefinition","src":"1087:143:200","nodes":[],"body":{"id":134926,"nodeType":"Block","src":"1175:55:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":134922,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134913,"src":"1206:8:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":134923,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134915,"src":"1216:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":134920,"name":"SystemSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126723,"src":"1188:12:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SystemSwitch_$126723_$","typeString":"type(library SystemSwitch)"}},"id":134921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1201:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":126676,"src":"1188:17:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":134924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1188:37:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":134919,"id":134925,"nodeType":"Return","src":"1181:44:200"}]},"functionSelector":"3ae7af08","implemented":true,"kind":"function","modifiers":[],"name":"call","nameLocation":"1096:4:200","parameters":{"id":134916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134913,"mutability":"mutable","name":"systemId","nameLocation":"1112:8:200","nodeType":"VariableDeclaration","scope":134927,"src":"1101:19:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":134912,"nodeType":"UserDefinedTypeName","pathNode":{"id":134911,"name":"ResourceId","nameLocations":["1101:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1101:10:200"},"referencedDeclaration":2782,"src":"1101:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":134915,"mutability":"mutable","name":"callData","nameLocation":"1135:8:200","nodeType":"VariableDeclaration","scope":134927,"src":"1122:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":134914,"name":"bytes","nodeType":"ElementaryTypeName","src":"1122:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1100:44:200"},"returnParameters":{"id":134919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134918,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":134927,"src":"1161:12:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":134917,"name":"bytes","nodeType":"ElementaryTypeName","src":"1161:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1160:14:200"},"scope":134941,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":134940,"nodeType":"FunctionDefinition","src":"1234:123:200","nodes":[],"body":{"id":134939,"nodeType":"Block","src":"1312:45:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":134936,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134929,"src":"1343:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":134934,"name":"SystemSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126723,"src":"1325:12:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SystemSwitch_$126723_$","typeString":"type(library SystemSwitch)"}},"id":134935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1338:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":126722,"src":"1325:17:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":134937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1325:27:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":134933,"id":134938,"nodeType":"Return","src":"1318:34:200"}]},"functionSelector":"96f09da6","implemented":true,"kind":"function","modifiers":[],"name":"callViaSelector","nameLocation":"1243:15:200","parameters":{"id":134930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134929,"mutability":"mutable","name":"callData","nameLocation":"1272:8:200","nodeType":"VariableDeclaration","scope":134940,"src":"1259:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":134928,"name":"bytes","nodeType":"ElementaryTypeName","src":"1259:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1258:23:200"},"returnParameters":{"id":134933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134932,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":134940,"src":"1298:12:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":134931,"name":"bytes","nodeType":"ElementaryTypeName","src":"1298:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1297:14:200"},"scope":134941,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":134881,"name":"System","nameLocations":["812:6:200"],"nodeType":"IdentifierPath","referencedDeclaration":22601,"src":"812:6:200"},"id":134882,"nodeType":"InheritanceSpecifier","src":"812:6:200"}],"canonicalName":"EchoSystem","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[134941,22601,23800,22336,22203],"name":"EchoSystem","nameLocation":"798:10:200","scope":135838,"usedErrors":[22360,22390],"usedEvents":[]},{"id":134947,"nodeType":"VariableDeclaration","src":"1361:39:200","nodes":[],"constant":true,"mutability":"constant","name":"caller","nameLocation":"1378:6:200","scope":135838,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":134942,"name":"address","nodeType":"ElementaryTypeName","src":"1361:7:200","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"34323332","id":134945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1395:4:200","typeDescriptions":{"typeIdentifier":"t_rational_4232_by_1","typeString":"int_const 4232"},"value":"4232"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4232_by_1","typeString":"int_const 4232"}],"id":134944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1387:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":134943,"name":"address","nodeType":"ElementaryTypeName","src":"1387:7:200","typeDescriptions":{}}},"id":134946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1387:13:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":135837,"nodeType":"ContractDefinition","src":"1403:7562:200","nodes":[{"id":134955,"nodeType":"UsingForDirective","src":"1454:45:200","nodes":[],"global":false,"libraryName":{"id":134952,"name":"WorldResourceIdInstance","nameLocations":["1460:23:200"],"nodeType":"IdentifierPath","referencedDeclaration":24272,"src":"1460:23:200"},"typeName":{"id":134954,"nodeType":"UserDefinedTypeName","pathNode":{"id":134953,"name":"ResourceId","nameLocations":["1488:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1488:10:200"},"referencedDeclaration":2782,"src":"1488:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}},{"id":134958,"nodeType":"VariableDeclaration","src":"1503:16:200","nodes":[],"constant":false,"mutability":"mutable","name":"world","nameLocation":"1514:5:200","scope":135837,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"},"typeName":{"id":134957,"nodeType":"UserDefinedTypeName","pathNode":{"id":134956,"name":"IBaseWorld","nameLocations":["1503:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":24400,"src":"1503:10:200"},"referencedDeclaration":24400,"src":"1503:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"visibility":"internal"},{"id":134961,"nodeType":"VariableDeclaration","src":"1524:18:200","nodes":[],"constant":false,"mutability":"mutable","name":"systemA","nameLocation":"1535:7:200","scope":135837,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"},"typeName":{"id":134960,"nodeType":"UserDefinedTypeName","pathNode":{"id":134959,"name":"EchoSystem","nameLocations":["1524:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134941,"src":"1524:10:200"},"referencedDeclaration":134941,"src":"1524:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":134964,"nodeType":"VariableDeclaration","src":"1546:18:200","nodes":[],"constant":false,"mutability":"mutable","name":"systemB","nameLocation":"1557:7:200","scope":135837,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"},"typeName":{"id":134963,"nodeType":"UserDefinedTypeName","pathNode":{"id":134962,"name":"EchoSystem","nameLocations":["1546:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134941,"src":"1546:10:200"},"referencedDeclaration":134941,"src":"1546:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":134967,"nodeType":"VariableDeclaration","src":"1568:22:200","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemA","nameLocation":"1579:11:200","scope":135837,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"},"typeName":{"id":134966,"nodeType":"UserDefinedTypeName","pathNode":{"id":134965,"name":"EchoSystem","nameLocations":["1568:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134941,"src":"1568:10:200"},"referencedDeclaration":134941,"src":"1568:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":134970,"nodeType":"VariableDeclaration","src":"1594:22:200","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemB","nameLocation":"1605:11:200","scope":135837,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"},"typeName":{"id":134969,"nodeType":"UserDefinedTypeName","pathNode":{"id":134968,"name":"EchoSystem","nameLocations":["1594:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134941,"src":"1594:10:200"},"referencedDeclaration":134941,"src":"1594:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":134973,"nodeType":"VariableDeclaration","src":"1621:20:200","nodes":[],"constant":false,"mutability":"mutable","name":"systemAId","nameLocation":"1632:9:200","scope":135837,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":134972,"nodeType":"UserDefinedTypeName","pathNode":{"id":134971,"name":"ResourceId","nameLocations":["1621:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1621:10:200"},"referencedDeclaration":2782,"src":"1621:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":134976,"nodeType":"VariableDeclaration","src":"1645:20:200","nodes":[],"constant":false,"mutability":"mutable","name":"systemBId","nameLocation":"1656:9:200","scope":135837,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":134975,"nodeType":"UserDefinedTypeName","pathNode":{"id":134974,"name":"ResourceId","nameLocations":["1645:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1645:10:200"},"referencedDeclaration":2782,"src":"1645:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":134979,"nodeType":"VariableDeclaration","src":"1669:24:200","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemAId","nameLocation":"1680:13:200","scope":135837,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":134978,"nodeType":"UserDefinedTypeName","pathNode":{"id":134977,"name":"ResourceId","nameLocations":["1669:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1669:10:200"},"referencedDeclaration":2782,"src":"1669:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":134982,"nodeType":"VariableDeclaration","src":"1697:24:200","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemBId","nameLocation":"1708:13:200","scope":135837,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":134981,"nodeType":"UserDefinedTypeName","pathNode":{"id":134980,"name":"ResourceId","nameLocations":["1697:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1697:10:200"},"referencedDeclaration":2782,"src":"1697:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":135122,"nodeType":"FunctionDefinition","src":"1726:1209:200","nodes":[],"body":{"id":135121,"nodeType":"Block","src":"1750:1185:200","nodes":[],"statements":[{"assignments":[134987],"declarations":[{"constant":false,"id":134987,"mutability":"mutable","name":"_world","nameLocation":"1782:6:200","nodeType":"VariableDeclaration","scope":135121,"src":"1776:12:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"},"typeName":{"id":134986,"nodeType":"UserDefinedTypeName","pathNode":{"id":134985,"name":"World","nameLocations":["1776:5:200"],"nodeType":"IdentifierPath","referencedDeclaration":23730,"src":"1776:5:200"},"referencedDeclaration":23730,"src":"1776:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"}},"visibility":"internal"}],"id":134992,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":134990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1791:9:200","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_World_$23730_$","typeString":"function () returns (contract World)"},"typeName":{"id":134989,"nodeType":"UserDefinedTypeName","pathNode":{"id":134988,"name":"World","nameLocations":["1795:5:200"],"nodeType":"IdentifierPath","referencedDeclaration":23730,"src":"1795:5:200"},"referencedDeclaration":23730,"src":"1795:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"}}},"id":134991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1791:11:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"}},"nodeType":"VariableDeclarationStatement","src":"1776:26:200"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":134996,"name":"createCoreModule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46913,"src":"1826:16:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_CoreModule_$35431_$","typeString":"function () returns (contract CoreModule)"}},"id":134997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1826:18:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CoreModule_$35431","typeString":"contract CoreModule"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CoreModule_$35431","typeString":"contract CoreModule"}],"expression":{"id":134993,"name":"_world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134987,"src":"1808:6:200","typeDescriptions":{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"}},"id":134995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1815:10:200","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":23071,"src":"1808:17:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_contract$_IModule_$22254_$returns$__$","typeString":"function (contract IModule) external"}},"id":134998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1808:37:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":134999,"nodeType":"ExpressionStatement","src":"1808:37:200"},{"expression":{"id":135007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135000,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"1851:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":135004,"name":"_world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134987,"src":"1878:6:200","typeDescriptions":{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"}],"id":135003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1870:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135002,"name":"address","nodeType":"ElementaryTypeName","src":"1870:7:200","typeDescriptions":{}}},"id":135005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1870:15:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":135001,"name":"IBaseWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24400,"src":"1859:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBaseWorld_$24400_$","typeString":"type(contract IBaseWorld)"}},"id":135006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1859:27:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"src":"1851:35:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135008,"nodeType":"ExpressionStatement","src":"1851:35:200"},{"expression":{"id":135014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135009,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134961,"src":"1915:7:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":135012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1925:14:200","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$134941_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":135011,"nodeType":"UserDefinedTypeName","pathNode":{"id":135010,"name":"EchoSystem","nameLocations":["1929:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134941,"src":"1929:10:200"},"referencedDeclaration":134941,"src":"1929:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}}},"id":135013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1925:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"src":"1915:26:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"id":135015,"nodeType":"ExpressionStatement","src":"1915:26:200"},{"expression":{"id":135021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135016,"name":"systemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134964,"src":"1947:7:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":135019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1957:14:200","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$134941_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":135018,"nodeType":"UserDefinedTypeName","pathNode":{"id":135017,"name":"EchoSystem","nameLocations":["1961:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134941,"src":"1961:10:200"},"referencedDeclaration":134941,"src":"1961:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}}},"id":135020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1957:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"src":"1947:26:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"id":135022,"nodeType":"ExpressionStatement","src":"1947:26:200"},{"expression":{"id":135028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135023,"name":"rootSystemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134967,"src":"1979:11:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":135026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1993:14:200","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$134941_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":135025,"nodeType":"UserDefinedTypeName","pathNode":{"id":135024,"name":"EchoSystem","nameLocations":["1997:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134941,"src":"1997:10:200"},"referencedDeclaration":134941,"src":"1997:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}}},"id":135027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1993:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"src":"1979:30:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"id":135029,"nodeType":"ExpressionStatement","src":"1979:30:200"},{"expression":{"id":135035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135030,"name":"rootSystemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134970,"src":"2015:11:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":135033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2029:14:200","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$134941_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":135032,"nodeType":"UserDefinedTypeName","pathNode":{"id":135031,"name":"EchoSystem","nameLocations":["2033:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134941,"src":"2033:10:200"},"referencedDeclaration":134941,"src":"2033:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}}},"id":135034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2029:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"src":"2015:30:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},"id":135036,"nodeType":"ExpressionStatement","src":"2015:30:200"},{"expression":{"id":135044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135037,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134973,"src":"2077:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":135040,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37052,"src":"2125:15:200","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"hexValue":"6e616d65737061636541","id":135041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2153:12:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5249ea074de3b5c1907767d7daf078e87d4b0a31b187546ff27e540c44dd67f","typeString":"literal_string \"namespaceA\""},"value":"namespaceA"},{"hexValue":"73797374656d41","id":135042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2173:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""},"value":"systemA"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_stringliteral_e5249ea074de3b5c1907767d7daf078e87d4b0a31b187546ff27e540c44dd67f","typeString":"literal_string \"namespaceA\""},{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""}],"expression":{"id":135038,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24145,"src":"2089:18:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24145_$","typeString":"type(library WorldResourceIdLib)"}},"id":135039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2108:6:200","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24073,"src":"2089:25:200","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":135043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2117:6:200","2142:9:200","2167:4:200"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2089:96:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2077:108:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":135045,"nodeType":"ExpressionStatement","src":"2077:108:200"},{"expression":{"id":135053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135046,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134976,"src":"2191:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":135049,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37052,"src":"2239:15:200","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"hexValue":"6e616d65737061636542","id":135050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2267:12:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_9966cb362f88b0d958879f3f2d1e887cd1b93cd84663a71d6f07414bb1f92582","typeString":"literal_string \"namespaceB\""},"value":"namespaceB"},{"hexValue":"73797374656d42","id":135051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2287:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""},"value":"systemB"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_stringliteral_9966cb362f88b0d958879f3f2d1e887cd1b93cd84663a71d6f07414bb1f92582","typeString":"literal_string \"namespaceB\""},{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""}],"expression":{"id":135047,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24145,"src":"2203:18:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24145_$","typeString":"type(library WorldResourceIdLib)"}},"id":135048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2222:6:200","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24073,"src":"2203:25:200","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":135052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2231:6:200","2256:9:200","2281:4:200"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2203:96:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2191:108:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":135054,"nodeType":"ExpressionStatement","src":"2191:108:200"},{"expression":{"id":135062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135055,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134979,"src":"2305:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":135058,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37052,"src":"2357:15:200","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"id":135059,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34848,"src":"2385:14:200","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},{"hexValue":"73797374656d41","id":135060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2407:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""},"value":"systemA"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_bytes14","typeString":"bytes14"},{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""}],"expression":{"id":135056,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24145,"src":"2321:18:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24145_$","typeString":"type(library WorldResourceIdLib)"}},"id":135057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2340:6:200","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24073,"src":"2321:25:200","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":135061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2349:6:200","2374:9:200","2401:4:200"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2321:98:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2305:114:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":135063,"nodeType":"ExpressionStatement","src":"2305:114:200"},{"expression":{"id":135071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135064,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134982,"src":"2425:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":135067,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37052,"src":"2477:15:200","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"id":135068,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34848,"src":"2505:14:200","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},{"hexValue":"73797374656d42","id":135069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2527:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""},"value":"systemB"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_bytes14","typeString":"bytes14"},{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""}],"expression":{"id":135065,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24145,"src":"2441:18:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24145_$","typeString":"type(library WorldResourceIdLib)"}},"id":135066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2460:6:200","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24073,"src":"2441:25:200","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":135070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2469:6:200","2494:9:200","2521:4:200"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2441:98:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2425:114:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":135072,"nodeType":"ExpressionStatement","src":"2425:114:200"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":135076,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134973,"src":"2597:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":135077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2607:14:200","memberName":"getNamespaceId","nodeType":"MemberAccess","referencedDeclaration":24191,"src":"2597:24:200","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$2782_$returns$_t_userDefinedValueType$_ResourceId_$2782_$attached_to$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (ResourceId) pure returns (ResourceId)"}},"id":135078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2597:26:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}],"expression":{"id":135073,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"2573:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2579:17:200","memberName":"registerNamespace","nodeType":"MemberAccess","referencedDeclaration":24460,"src":"2573:23:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$returns$__$","typeString":"function (ResourceId) external"}},"id":135079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2573:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135080,"nodeType":"ExpressionStatement","src":"2573:51:200"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":135084,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134976,"src":"2654:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":135085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2664:14:200","memberName":"getNamespaceId","nodeType":"MemberAccess","referencedDeclaration":24191,"src":"2654:24:200","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$2782_$returns$_t_userDefinedValueType$_ResourceId_$2782_$attached_to$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (ResourceId) pure returns (ResourceId)"}},"id":135086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2654:26:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}],"expression":{"id":135081,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"2630:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2636:17:200","memberName":"registerNamespace","nodeType":"MemberAccess","referencedDeclaration":24460,"src":"2630:23:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$returns$__$","typeString":"function (ResourceId) external"}},"id":135087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2630:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135088,"nodeType":"ExpressionStatement","src":"2630:51:200"},{"expression":{"arguments":[{"id":135092,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134973,"src":"2733:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":135093,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134961,"src":"2744:7:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":135094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2753:4:200","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":135089,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"2712:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2718:14:200","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24491,"src":"2712:20:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_WorldContextConsumer_$23800_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract WorldContextConsumer,bool) external"}},"id":135095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2712:46:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135096,"nodeType":"ExpressionStatement","src":"2712:46:200"},{"expression":{"arguments":[{"id":135100,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134976,"src":"2785:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":135101,"name":"systemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134964,"src":"2796:7:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":135102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2805:4:200","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":135097,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"2764:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2770:14:200","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24491,"src":"2764:20:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_WorldContextConsumer_$23800_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract WorldContextConsumer,bool) external"}},"id":135103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2764:46:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135104,"nodeType":"ExpressionStatement","src":"2764:46:200"},{"expression":{"arguments":[{"id":135108,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134979,"src":"2837:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":135109,"name":"rootSystemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134967,"src":"2852:11:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":135110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2865:4:200","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":135105,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"2816:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2822:14:200","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24491,"src":"2816:20:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_WorldContextConsumer_$23800_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract WorldContextConsumer,bool) external"}},"id":135111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2816:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135112,"nodeType":"ExpressionStatement","src":"2816:54:200"},{"expression":{"arguments":[{"id":135116,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134982,"src":"2897:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":135117,"name":"rootSystemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134970,"src":"2912:11:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":135118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2925:4:200","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":135113,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"2876:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2882:14:200","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24491,"src":"2876:20:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_WorldContextConsumer_$23800_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract WorldContextConsumer,bool) external"}},"id":135119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2876:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135120,"nodeType":"ExpressionStatement","src":"2876:54:200"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1735:5:200","parameters":{"id":134983,"nodeType":"ParameterList","parameters":[],"src":"1740:2:200"},"returnParameters":{"id":134984,"nodeType":"ParameterList","parameters":[],"src":"1750:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135152,"nodeType":"FunctionDefinition","src":"2939:226:200","nodes":[],"body":{"id":135151,"nodeType":"Block","src":"3046:119:200","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":135136,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134979,"src":"3081:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135139,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"3111:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3122:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":134927,"src":"3111:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"}},{"components":[{"id":135141,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135125,"src":"3129:8:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":135142,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135127,"src":"3139:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":135143,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3128:20:200","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}],"expression":{"id":135137,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3096:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3100:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"3096:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3096:53:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135134,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"3070:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3076:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22461,"src":"3070:10:200","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":135145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3070:80:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3153:5:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":135146,"name":"bytes","nodeType":"ElementaryTypeName","src":"3153:5:200","typeDescriptions":{}}}],"id":135148,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3152:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":135132,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3059:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3063:6:200","memberName":"decode","nodeType":"MemberAccess","src":"3059:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3059:101:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":135131,"id":135150,"nodeType":"Return","src":"3052:108:200"}]},"functionSelector":"101f99a3","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromRootSystemA","nameLocation":"2948:23:200","parameters":{"id":135128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135125,"mutability":"mutable","name":"systemId","nameLocation":"2983:8:200","nodeType":"VariableDeclaration","scope":135152,"src":"2972:19:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":135124,"nodeType":"UserDefinedTypeName","pathNode":{"id":135123,"name":"ResourceId","nameLocations":["2972:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"2972:10:200"},"referencedDeclaration":2782,"src":"2972:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":135127,"mutability":"mutable","name":"callData","nameLocation":"3006:8:200","nodeType":"VariableDeclaration","scope":135152,"src":"2993:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135126,"name":"bytes","nodeType":"ElementaryTypeName","src":"2993:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2971:44:200"},"returnParameters":{"id":135131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135130,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":135152,"src":"3032:12:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135129,"name":"bytes","nodeType":"ElementaryTypeName","src":"3032:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3031:14:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135182,"nodeType":"FunctionDefinition","src":"3169:218:200","nodes":[],"body":{"id":135181,"nodeType":"Block","src":"3272:115:200","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":135166,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134973,"src":"3307:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135169,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"3333:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3344:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":134927,"src":"3333:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"}},{"components":[{"id":135171,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135155,"src":"3351:8:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":135172,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135157,"src":"3361:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":135173,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3350:20:200","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}],"expression":{"id":135167,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3318:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3322:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"3318:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3318:53:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135164,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"3296:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3302:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22461,"src":"3296:10:200","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":135175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3296:76:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3375:5:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":135176,"name":"bytes","nodeType":"ElementaryTypeName","src":"3375:5:200","typeDescriptions":{}}}],"id":135178,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3374:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":135162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3285:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3289:6:200","memberName":"decode","nodeType":"MemberAccess","src":"3285:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3285:97:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":135161,"id":135180,"nodeType":"Return","src":"3278:104:200"}]},"functionSelector":"3fa01b98","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromSystemA","nameLocation":"3178:19:200","parameters":{"id":135158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135155,"mutability":"mutable","name":"systemId","nameLocation":"3209:8:200","nodeType":"VariableDeclaration","scope":135182,"src":"3198:19:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":135154,"nodeType":"UserDefinedTypeName","pathNode":{"id":135153,"name":"ResourceId","nameLocations":["3198:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"3198:10:200"},"referencedDeclaration":2782,"src":"3198:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":135157,"mutability":"mutable","name":"callData","nameLocation":"3232:8:200","nodeType":"VariableDeclaration","scope":135182,"src":"3219:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135156,"name":"bytes","nodeType":"ElementaryTypeName","src":"3219:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3197:44:200"},"returnParameters":{"id":135161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":135182,"src":"3258:12:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135159,"name":"bytes","nodeType":"ElementaryTypeName","src":"3258:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3257:14:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135208,"nodeType":"FunctionDefinition","src":"3391:206:200","nodes":[],"body":{"id":135207,"nodeType":"Block","src":"3477:120:200","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":135193,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134979,"src":"3512:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135196,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"3542:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3553:15:200","memberName":"callViaSelector","nodeType":"MemberAccess","referencedDeclaration":134940,"src":"3542:26:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"}},{"components":[{"id":135198,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135184,"src":"3571:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":135199,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3570:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135194,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3527:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3531:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"3527:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3527:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135191,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"3501:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3507:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22461,"src":"3501:10:200","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":135201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3501:81:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3585:5:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":135202,"name":"bytes","nodeType":"ElementaryTypeName","src":"3585:5:200","typeDescriptions":{}}}],"id":135204,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3584:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":135189,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3490:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3494:6:200","memberName":"decode","nodeType":"MemberAccess","src":"3490:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3490:102:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":135188,"id":135206,"nodeType":"Return","src":"3483:109:200"}]},"functionSelector":"199e1d17","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromRootSystemA","nameLocation":"3400:23:200","parameters":{"id":135185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135184,"mutability":"mutable","name":"callData","nameLocation":"3437:8:200","nodeType":"VariableDeclaration","scope":135208,"src":"3424:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135183,"name":"bytes","nodeType":"ElementaryTypeName","src":"3424:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3423:23:200"},"returnParameters":{"id":135188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":135208,"src":"3463:12:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135186,"name":"bytes","nodeType":"ElementaryTypeName","src":"3463:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3462:14:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135234,"nodeType":"FunctionDefinition","src":"3601:198:200","nodes":[],"body":{"id":135233,"nodeType":"Block","src":"3683:116:200","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":135219,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134973,"src":"3718:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135222,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"3744:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3755:15:200","memberName":"callViaSelector","nodeType":"MemberAccess","referencedDeclaration":134940,"src":"3744:26:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"}},{"components":[{"id":135224,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135210,"src":"3773:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":135225,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3772:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135220,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3729:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3733:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"3729:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3729:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135217,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"3707:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3713:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22461,"src":"3707:10:200","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":135227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3707:77:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3787:5:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":135228,"name":"bytes","nodeType":"ElementaryTypeName","src":"3787:5:200","typeDescriptions":{}}}],"id":135230,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3786:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":135215,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3696:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3700:6:200","memberName":"decode","nodeType":"MemberAccess","src":"3696:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3696:98:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":135214,"id":135232,"nodeType":"Return","src":"3689:105:200"}]},"functionSelector":"075d7777","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromSystemA","nameLocation":"3610:19:200","parameters":{"id":135211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135210,"mutability":"mutable","name":"callData","nameLocation":"3643:8:200","nodeType":"VariableDeclaration","scope":135234,"src":"3630:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135209,"name":"bytes","nodeType":"ElementaryTypeName","src":"3630:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3629:23:200"},"returnParameters":{"id":135214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135213,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":135234,"src":"3669:12:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135212,"name":"bytes","nodeType":"ElementaryTypeName","src":"3669:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3668:14:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135267,"nodeType":"FunctionDefinition","src":"3906:244:200","nodes":[],"body":{"id":135266,"nodeType":"Block","src":"3954:196:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135240,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"3969:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135237,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"3960:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3963:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"3960:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3960:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135242,"nodeType":"ExpressionStatement","src":"3960:16:200"},{"assignments":[135244],"declarations":[{"constant":false,"id":135244,"mutability":"mutable","name":"returnData","nameLocation":"3995:10:200","nodeType":"VariableDeclaration","scope":135266,"src":"3982:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135243,"name":"bytes","nodeType":"ElementaryTypeName","src":"3982:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135254,"initialValue":{"arguments":[{"id":135246,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134982,"src":"4032:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135249,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"4062:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4073:9:200","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":134891,"src":"4062:20:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":135251,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4084:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135247,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4047:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4051:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"4047:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:40:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135245,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135152,135208],"referencedDeclaration":135152,"src":"4008:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:80:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3982:106:200"},{"expression":{"arguments":[{"arguments":[{"id":135258,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135244,"src":"4114:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4127:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135259,"name":"address","nodeType":"ElementaryTypeName","src":"4127:7:200","typeDescriptions":{}}}],"id":135261,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4126:9:200","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":135256,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4103:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4107:6:200","memberName":"decode","nodeType":"MemberAccess","src":"4103:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4103:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":135263,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"4138:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135255,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"4094:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4094:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135265,"nodeType":"ExpressionStatement","src":"4094:51:200"}]},"functionSelector":"ed3a1856","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootMsgSender","nameLocation":"3915:29:200","parameters":{"id":135235,"nodeType":"ParameterList","parameters":[],"src":"3944:2:200"},"returnParameters":{"id":135236,"nodeType":"ParameterList","parameters":[],"src":"3954:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135303,"nodeType":"FunctionDefinition","src":"4154:244:200","nodes":[],"body":{"id":135302,"nodeType":"Block","src":"4198:200:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135273,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"4213:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135270,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"4204:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4207:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"4204:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4204:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135275,"nodeType":"ExpressionStatement","src":"4204:16:200"},{"assignments":[135277],"declarations":[{"constant":false,"id":135277,"mutability":"mutable","name":"returnData","nameLocation":"4239:10:200","nodeType":"VariableDeclaration","scope":135302,"src":"4226:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135276,"name":"bytes","nodeType":"ElementaryTypeName","src":"4226:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135287,"initialValue":{"arguments":[{"id":135279,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134982,"src":"4276:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135282,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"4306:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4317:5:200","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":134900,"src":"4306:16:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":135284,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4324:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135280,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4291:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4295:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"4291:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4291:36:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135278,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135152,135208],"referencedDeclaration":135152,"src":"4252:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4252:76:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4226:102:200"},{"expression":{"arguments":[{"arguments":[{"id":135291,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135277,"src":"4354:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4367:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135292,"name":"address","nodeType":"ElementaryTypeName","src":"4367:7:200","typeDescriptions":{}}}],"id":135294,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4366:9:200","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":135289,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4343:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4347:6:200","memberName":"decode","nodeType":"MemberAccess","src":"4343:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4343:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":135298,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"4386:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}],"id":135297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4378:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135296,"name":"address","nodeType":"ElementaryTypeName","src":"4378:7:200","typeDescriptions":{}}},"id":135299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4378:14:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135288,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"4334:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4334:59:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135301,"nodeType":"ExpressionStatement","src":"4334:59:200"}]},"functionSelector":"3911733c","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootWorld","nameLocation":"4163:25:200","parameters":{"id":135268,"nodeType":"ParameterList","parameters":[],"src":"4188:2:200"},"returnParameters":{"id":135269,"nodeType":"ParameterList","parameters":[],"src":"4198:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135337,"nodeType":"FunctionDefinition","src":"4402:241:200","nodes":[],"body":{"id":135336,"nodeType":"Block","src":"4445:198:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135309,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"4460:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135306,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"4451:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4454:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"4451:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4451:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135311,"nodeType":"ExpressionStatement","src":"4451:16:200"},{"assignments":[135313],"declarations":[{"constant":false,"id":135313,"mutability":"mutable","name":"returnData","nameLocation":"4486:10:200","nodeType":"VariableDeclaration","scope":135336,"src":"4473:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135312,"name":"bytes","nodeType":"ElementaryTypeName","src":"4473:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135324,"initialValue":{"arguments":[{"id":135315,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134982,"src":"4523:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135318,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"4553:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4564:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134910,"src":"4553:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":135320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4571:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":135321,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4570:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4538:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4542:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"4538:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4538:42:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135314,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135152,135208],"referencedDeclaration":135152,"src":"4499:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4499:82:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4473:108:200"},{"expression":{"arguments":[{"arguments":[{"id":135328,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135313,"src":"4607:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4620:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135329,"name":"string","nodeType":"ElementaryTypeName","src":"4620:6:200","typeDescriptions":{}}}],"id":135331,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4619:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135326,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4596:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4600:6:200","memberName":"decode","nodeType":"MemberAccess","src":"4596:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4596:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4630:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135325,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"4587:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4587:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135335,"nodeType":"ExpressionStatement","src":"4587:51:200"}]},"functionSelector":"3424e1c1","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootEcho","nameLocation":"4411:24:200","parameters":{"id":135304,"nodeType":"ParameterList","parameters":[],"src":"4435:2:200"},"returnParameters":{"id":135305,"nodeType":"ParameterList","parameters":[],"src":"4445:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135383,"nodeType":"FunctionDefinition","src":"4647:438:200","nodes":[],"body":{"id":135382,"nodeType":"Block","src":"4699:386:200","nodes":[],"statements":[{"assignments":[135341],"declarations":[{"constant":false,"id":135341,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"4712:21:200","nodeType":"VariableDeclaration","scope":135382,"src":"4705:28:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":135340,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4705:6:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":135350,"initialValue":{"arguments":[{"id":135344,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134982,"src":"4778:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":135345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4799:14:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":135346,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"4821:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4832:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134910,"src":"4821:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},"id":135348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4837:8:200","memberName":"selector","nodeType":"MemberAccess","src":"4821:24:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":135342,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"4736:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4742:28:200","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24513,"src":"4736:34:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":135349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4736:115:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"4705:146:200"},{"assignments":[135352],"declarations":[{"constant":false,"id":135352,"mutability":"mutable","name":"callData","nameLocation":"4870:8:200","nodeType":"VariableDeclaration","scope":135382,"src":"4857:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135351,"name":"bytes","nodeType":"ElementaryTypeName","src":"4857:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135358,"initialValue":{"arguments":[{"id":135355,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135341,"src":"4904:21:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":135356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4927:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135353,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4881:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4885:18:200","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4881:22:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":135357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4881:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4857:78:200"},{"expression":{"arguments":[{"id":135362,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"4951:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135359,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"4942:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4945:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"4942:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4942:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135364,"nodeType":"ExpressionStatement","src":"4942:16:200"},{"assignments":[135366],"declarations":[{"constant":false,"id":135366,"mutability":"mutable","name":"returnData","nameLocation":"4977:10:200","nodeType":"VariableDeclaration","scope":135382,"src":"4964:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135365,"name":"bytes","nodeType":"ElementaryTypeName","src":"4964:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135370,"initialValue":{"arguments":[{"id":135368,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135352,"src":"5014:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135367,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135152,135208],"referencedDeclaration":135208,"src":"4990:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":135369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4990:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4964:59:200"},{"expression":{"arguments":[{"arguments":[{"id":135374,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135366,"src":"5049:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5062:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135375,"name":"string","nodeType":"ElementaryTypeName","src":"5062:6:200","typeDescriptions":{}}}],"id":135377,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5061:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135372,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5038:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5042:6:200","memberName":"decode","nodeType":"MemberAccess","src":"5038:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5038:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5072:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135371,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"5029:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5029:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135381,"nodeType":"ExpressionStatement","src":"5029:51:200"}]},"functionSelector":"78845560","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootWorldSelector","nameLocation":"4656:33:200","parameters":{"id":135338,"nodeType":"ParameterList","parameters":[],"src":"4689:2:200"},"returnParameters":{"id":135339,"nodeType":"ParameterList","parameters":[],"src":"4699:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135419,"nodeType":"FunctionDefinition","src":"5196:253:200","nodes":[],"body":{"id":135418,"nodeType":"Block","src":"5247:202:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135389,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"5262:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135386,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"5253:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5256:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"5253:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135391,"nodeType":"ExpressionStatement","src":"5253:16:200"},{"assignments":[135393],"declarations":[{"constant":false,"id":135393,"mutability":"mutable","name":"returnData","nameLocation":"5288:10:200","nodeType":"VariableDeclaration","scope":135418,"src":"5275:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135392,"name":"bytes","nodeType":"ElementaryTypeName","src":"5275:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135403,"initialValue":{"arguments":[{"id":135395,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134982,"src":"5321:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135398,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"5351:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5362:9:200","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":134891,"src":"5351:20:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":135400,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5373:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135396,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5336:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5340:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"5336:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5336:40:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135394,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135182,135234],"referencedDeclaration":135182,"src":"5301:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5301:76:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5275:102:200"},{"expression":{"arguments":[{"arguments":[{"id":135407,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135393,"src":"5403:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5416:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135408,"name":"address","nodeType":"ElementaryTypeName","src":"5416:7:200","typeDescriptions":{}}}],"id":135410,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5415:9:200","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":135405,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5392:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5396:6:200","memberName":"decode","nodeType":"MemberAccess","src":"5392:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5392:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":135414,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134961,"src":"5435:7:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}],"id":135413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5427:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135412,"name":"address","nodeType":"ElementaryTypeName","src":"5427:7:200","typeDescriptions":{}}},"id":135415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5427:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135404,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"5383:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:61:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135417,"nodeType":"ExpressionStatement","src":"5383:61:200"}]},"functionSelector":"e78c82e3","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootMsgSender","nameLocation":"5205:32:200","parameters":{"id":135384,"nodeType":"ParameterList","parameters":[],"src":"5237:2:200"},"returnParameters":{"id":135385,"nodeType":"ParameterList","parameters":[],"src":"5247:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135455,"nodeType":"FunctionDefinition","src":"5453:243:200","nodes":[],"body":{"id":135454,"nodeType":"Block","src":"5500:196:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135425,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"5515:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135422,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"5506:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5509:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"5506:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5506:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135427,"nodeType":"ExpressionStatement","src":"5506:16:200"},{"assignments":[135429],"declarations":[{"constant":false,"id":135429,"mutability":"mutable","name":"returnData","nameLocation":"5541:10:200","nodeType":"VariableDeclaration","scope":135454,"src":"5528:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135428,"name":"bytes","nodeType":"ElementaryTypeName","src":"5528:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135439,"initialValue":{"arguments":[{"id":135431,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134982,"src":"5574:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135434,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"5604:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5615:5:200","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":134900,"src":"5604:16:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":135436,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5622:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135432,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5589:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5593:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"5589:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5589:36:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135430,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135182,135234],"referencedDeclaration":135182,"src":"5554:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5554:72:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5528:98:200"},{"expression":{"arguments":[{"arguments":[{"id":135443,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135429,"src":"5652:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5665:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135444,"name":"address","nodeType":"ElementaryTypeName","src":"5665:7:200","typeDescriptions":{}}}],"id":135446,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5664:9:200","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":135441,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5641:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5645:6:200","memberName":"decode","nodeType":"MemberAccess","src":"5641:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5641:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":135450,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"5684:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}],"id":135449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5676:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135448,"name":"address","nodeType":"ElementaryTypeName","src":"5676:7:200","typeDescriptions":{}}},"id":135451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5676:14:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135440,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"5632:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5632:59:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135453,"nodeType":"ExpressionStatement","src":"5632:59:200"}]},"functionSelector":"2cb6867d","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootWorld","nameLocation":"5462:28:200","parameters":{"id":135420,"nodeType":"ParameterList","parameters":[],"src":"5490:2:200"},"returnParameters":{"id":135421,"nodeType":"ParameterList","parameters":[],"src":"5500:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135489,"nodeType":"FunctionDefinition","src":"5700:240:200","nodes":[],"body":{"id":135488,"nodeType":"Block","src":"5746:194:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135461,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"5761:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135458,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"5752:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5755:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"5752:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5752:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135463,"nodeType":"ExpressionStatement","src":"5752:16:200"},{"assignments":[135465],"declarations":[{"constant":false,"id":135465,"mutability":"mutable","name":"returnData","nameLocation":"5787:10:200","nodeType":"VariableDeclaration","scope":135488,"src":"5774:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135464,"name":"bytes","nodeType":"ElementaryTypeName","src":"5774:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135476,"initialValue":{"arguments":[{"id":135467,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134982,"src":"5820:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135470,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"5850:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5861:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134910,"src":"5850:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":135472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5868:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":135473,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5867:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135468,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5835:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5839:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"5835:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5835:42:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135466,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135182,135234],"referencedDeclaration":135182,"src":"5800:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5800:78:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5774:104:200"},{"expression":{"arguments":[{"arguments":[{"id":135480,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135465,"src":"5904:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5917:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135481,"name":"string","nodeType":"ElementaryTypeName","src":"5917:6:200","typeDescriptions":{}}}],"id":135483,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5916:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135478,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5893:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5897:6:200","memberName":"decode","nodeType":"MemberAccess","src":"5893:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5893:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5927:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135477,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"5884:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5884:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135487,"nodeType":"ExpressionStatement","src":"5884:51:200"}]},"functionSelector":"055e33e8","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootEcho","nameLocation":"5709:27:200","parameters":{"id":135456,"nodeType":"ParameterList","parameters":[],"src":"5736:2:200"},"returnParameters":{"id":135457,"nodeType":"ParameterList","parameters":[],"src":"5746:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135535,"nodeType":"FunctionDefinition","src":"5944:437:200","nodes":[],"body":{"id":135534,"nodeType":"Block","src":"5999:382:200","nodes":[],"statements":[{"assignments":[135493],"declarations":[{"constant":false,"id":135493,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"6012:21:200","nodeType":"VariableDeclaration","scope":135534,"src":"6005:28:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":135492,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6005:6:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":135502,"initialValue":{"arguments":[{"id":135496,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134982,"src":"6078:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":135497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6099:14:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":135498,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"6121:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6132:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134910,"src":"6121:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},"id":135500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6137:8:200","memberName":"selector","nodeType":"MemberAccess","src":"6121:24:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":135494,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"6036:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6042:28:200","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24513,"src":"6036:34:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":135501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6036:115:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"6005:146:200"},{"assignments":[135504],"declarations":[{"constant":false,"id":135504,"mutability":"mutable","name":"callData","nameLocation":"6170:8:200","nodeType":"VariableDeclaration","scope":135534,"src":"6157:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135503,"name":"bytes","nodeType":"ElementaryTypeName","src":"6157:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135510,"initialValue":{"arguments":[{"id":135507,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135493,"src":"6204:21:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":135508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6227:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135505,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6181:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6185:18:200","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6181:22:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":135509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6181:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6157:78:200"},{"expression":{"arguments":[{"id":135514,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"6251:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135511,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"6242:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6245:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"6242:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6242:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135516,"nodeType":"ExpressionStatement","src":"6242:16:200"},{"assignments":[135518],"declarations":[{"constant":false,"id":135518,"mutability":"mutable","name":"returnData","nameLocation":"6277:10:200","nodeType":"VariableDeclaration","scope":135534,"src":"6264:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135517,"name":"bytes","nodeType":"ElementaryTypeName","src":"6264:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135522,"initialValue":{"arguments":[{"id":135520,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135504,"src":"6310:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135519,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135182,135234],"referencedDeclaration":135234,"src":"6290:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":135521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6290:29:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6264:55:200"},{"expression":{"arguments":[{"arguments":[{"id":135526,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135518,"src":"6345:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6358:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135527,"name":"string","nodeType":"ElementaryTypeName","src":"6358:6:200","typeDescriptions":{}}}],"id":135529,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6357:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135524,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6334:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6338:6:200","memberName":"decode","nodeType":"MemberAccess","src":"6334:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6334:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6368:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135523,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"6325:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6325:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135533,"nodeType":"ExpressionStatement","src":"6325:51:200"}]},"functionSelector":"c0310bf6","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootWorldSelector","nameLocation":"5953:36:200","parameters":{"id":135490,"nodeType":"ParameterList","parameters":[],"src":"5989:2:200"},"returnParameters":{"id":135491,"nodeType":"ParameterList","parameters":[],"src":"5999:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135568,"nodeType":"FunctionDefinition","src":"6492:243:200","nodes":[],"body":{"id":135567,"nodeType":"Block","src":"6543:192:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135541,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"6558:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135538,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"6549:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6552:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"6549:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6549:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135543,"nodeType":"ExpressionStatement","src":"6549:16:200"},{"assignments":[135545],"declarations":[{"constant":false,"id":135545,"mutability":"mutable","name":"returnData","nameLocation":"6584:10:200","nodeType":"VariableDeclaration","scope":135567,"src":"6571:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135544,"name":"bytes","nodeType":"ElementaryTypeName","src":"6571:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135555,"initialValue":{"arguments":[{"id":135547,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134976,"src":"6621:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135550,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"6647:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135551,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6658:9:200","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":134891,"src":"6647:20:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":135552,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6669:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135548,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6632:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6636:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"6632:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6632:40:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135546,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135152,135208],"referencedDeclaration":135152,"src":"6597:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6597:76:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6571:102:200"},{"expression":{"arguments":[{"arguments":[{"id":135559,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135545,"src":"6699:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6712:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135560,"name":"address","nodeType":"ElementaryTypeName","src":"6712:7:200","typeDescriptions":{}}}],"id":135562,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6711:9:200","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":135557,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6688:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135558,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6692:6:200","memberName":"decode","nodeType":"MemberAccess","src":"6688:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6688:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":135564,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"6723:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135556,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"6679:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6679:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135566,"nodeType":"ExpressionStatement","src":"6679:51:200"}]},"functionSelector":"5af8de30","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromRootMsgSender","nameLocation":"6501:32:200","parameters":{"id":135536,"nodeType":"ParameterList","parameters":[],"src":"6533:2:200"},"returnParameters":{"id":135537,"nodeType":"ParameterList","parameters":[],"src":"6543:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135604,"nodeType":"FunctionDefinition","src":"6739:243:200","nodes":[],"body":{"id":135603,"nodeType":"Block","src":"6786:196:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135574,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"6801:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135571,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"6792:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6795:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"6792:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6792:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135576,"nodeType":"ExpressionStatement","src":"6792:16:200"},{"assignments":[135578],"declarations":[{"constant":false,"id":135578,"mutability":"mutable","name":"returnData","nameLocation":"6827:10:200","nodeType":"VariableDeclaration","scope":135603,"src":"6814:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135577,"name":"bytes","nodeType":"ElementaryTypeName","src":"6814:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135588,"initialValue":{"arguments":[{"id":135580,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134976,"src":"6864:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135583,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"6890:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6901:5:200","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":134900,"src":"6890:16:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":135585,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6908:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135581,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6875:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6879:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"6875:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6875:36:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135579,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135152,135208],"referencedDeclaration":135152,"src":"6840:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6840:72:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6814:98:200"},{"expression":{"arguments":[{"arguments":[{"id":135592,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135578,"src":"6938:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6951:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135593,"name":"address","nodeType":"ElementaryTypeName","src":"6951:7:200","typeDescriptions":{}}}],"id":135595,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6950:9:200","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":135590,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6927:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6931:6:200","memberName":"decode","nodeType":"MemberAccess","src":"6927:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6927:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":135599,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"6970:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}],"id":135598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6962:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135597,"name":"address","nodeType":"ElementaryTypeName","src":"6962:7:200","typeDescriptions":{}}},"id":135600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6962:14:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135589,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"6918:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6918:59:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135602,"nodeType":"ExpressionStatement","src":"6918:59:200"}]},"functionSelector":"85dc0868","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromRootWorld","nameLocation":"6748:28:200","parameters":{"id":135569,"nodeType":"ParameterList","parameters":[],"src":"6776:2:200"},"returnParameters":{"id":135570,"nodeType":"ParameterList","parameters":[],"src":"6786:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135638,"nodeType":"FunctionDefinition","src":"6986:240:200","nodes":[],"body":{"id":135637,"nodeType":"Block","src":"7032:194:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135610,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"7047:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135607,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"7038:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7041:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"7038:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7038:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135612,"nodeType":"ExpressionStatement","src":"7038:16:200"},{"assignments":[135614],"declarations":[{"constant":false,"id":135614,"mutability":"mutable","name":"returnData","nameLocation":"7073:10:200","nodeType":"VariableDeclaration","scope":135637,"src":"7060:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135613,"name":"bytes","nodeType":"ElementaryTypeName","src":"7060:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135625,"initialValue":{"arguments":[{"id":135616,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134976,"src":"7110:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135619,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"7136:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7147:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134910,"src":"7136:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":135621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7154:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":135622,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7153:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135617,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7121:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7125:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"7121:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7121:42:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135615,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135152,135208],"referencedDeclaration":135152,"src":"7086:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7086:78:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7060:104:200"},{"expression":{"arguments":[{"arguments":[{"id":135629,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135614,"src":"7190:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7203:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135630,"name":"string","nodeType":"ElementaryTypeName","src":"7203:6:200","typeDescriptions":{}}}],"id":135632,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7202:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135627,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7179:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7183:6:200","memberName":"decode","nodeType":"MemberAccess","src":"7179:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7179:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7213:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135626,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"7170:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7170:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135636,"nodeType":"ExpressionStatement","src":"7170:51:200"}]},"functionSelector":"32d7d505","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromRootEcho","nameLocation":"6995:27:200","parameters":{"id":135605,"nodeType":"ParameterList","parameters":[],"src":"7022:2:200"},"returnParameters":{"id":135606,"nodeType":"ParameterList","parameters":[],"src":"7032:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135684,"nodeType":"FunctionDefinition","src":"7230:437:200","nodes":[],"body":{"id":135683,"nodeType":"Block","src":"7285:382:200","nodes":[],"statements":[{"assignments":[135642],"declarations":[{"constant":false,"id":135642,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"7298:21:200","nodeType":"VariableDeclaration","scope":135683,"src":"7291:28:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":135641,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7291:6:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":135651,"initialValue":{"arguments":[{"id":135645,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134976,"src":"7364:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":135646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7381:14:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":135647,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"7403:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7414:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134910,"src":"7403:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},"id":135649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7419:8:200","memberName":"selector","nodeType":"MemberAccess","src":"7403:24:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":135643,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"7322:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7328:28:200","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24513,"src":"7322:34:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":135650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7322:111:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"7291:142:200"},{"assignments":[135653],"declarations":[{"constant":false,"id":135653,"mutability":"mutable","name":"callData","nameLocation":"7452:8:200","nodeType":"VariableDeclaration","scope":135683,"src":"7439:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135652,"name":"bytes","nodeType":"ElementaryTypeName","src":"7439:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135659,"initialValue":{"arguments":[{"id":135656,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135642,"src":"7486:21:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":135657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7509:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135654,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7463:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7467:18:200","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7463:22:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":135658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7463:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7439:78:200"},{"expression":{"arguments":[{"id":135663,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"7533:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135660,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"7524:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7527:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"7524:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7524:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135665,"nodeType":"ExpressionStatement","src":"7524:16:200"},{"assignments":[135667],"declarations":[{"constant":false,"id":135667,"mutability":"mutable","name":"returnData","nameLocation":"7559:10:200","nodeType":"VariableDeclaration","scope":135683,"src":"7546:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135666,"name":"bytes","nodeType":"ElementaryTypeName","src":"7546:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135671,"initialValue":{"arguments":[{"id":135669,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135653,"src":"7596:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135668,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135152,135208],"referencedDeclaration":135208,"src":"7572:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":135670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7572:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7546:59:200"},{"expression":{"arguments":[{"arguments":[{"id":135675,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135667,"src":"7631:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7644:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135676,"name":"string","nodeType":"ElementaryTypeName","src":"7644:6:200","typeDescriptions":{}}}],"id":135678,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7643:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135673,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7620:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7624:6:200","memberName":"decode","nodeType":"MemberAccess","src":"7620:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7620:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7654:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135672,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"7611:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7611:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135682,"nodeType":"ExpressionStatement","src":"7611:51:200"}]},"functionSelector":"2f2499f4","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromRootWorldSelector","nameLocation":"7239:36:200","parameters":{"id":135639,"nodeType":"ParameterList","parameters":[],"src":"7275:2:200"},"returnParameters":{"id":135640,"nodeType":"ParameterList","parameters":[],"src":"7285:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135720,"nodeType":"FunctionDefinition","src":"7782:252:200","nodes":[],"body":{"id":135719,"nodeType":"Block","src":"7836:198:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135690,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"7851:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135687,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"7842:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7845:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"7842:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7842:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135692,"nodeType":"ExpressionStatement","src":"7842:16:200"},{"assignments":[135694],"declarations":[{"constant":false,"id":135694,"mutability":"mutable","name":"returnData","nameLocation":"7877:10:200","nodeType":"VariableDeclaration","scope":135719,"src":"7864:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135693,"name":"bytes","nodeType":"ElementaryTypeName","src":"7864:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135704,"initialValue":{"arguments":[{"id":135696,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134976,"src":"7910:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135699,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"7936:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7947:9:200","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":134891,"src":"7936:20:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":135701,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7958:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135697,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7921:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7925:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"7921:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7921:40:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135695,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135182,135234],"referencedDeclaration":135182,"src":"7890:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7890:72:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7864:98:200"},{"expression":{"arguments":[{"arguments":[{"id":135708,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135694,"src":"7988:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135710,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8001:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135709,"name":"address","nodeType":"ElementaryTypeName","src":"8001:7:200","typeDescriptions":{}}}],"id":135711,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8000:9:200","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":135706,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7977:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7981:6:200","memberName":"decode","nodeType":"MemberAccess","src":"7977:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7977:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":135715,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134961,"src":"8020:7:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EchoSystem_$134941","typeString":"contract EchoSystem"}],"id":135714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8012:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135713,"name":"address","nodeType":"ElementaryTypeName","src":"8012:7:200","typeDescriptions":{}}},"id":135716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8012:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135705,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"7968:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:61:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135718,"nodeType":"ExpressionStatement","src":"7968:61:200"}]},"functionSelector":"8d95e4d6","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromNonRootMsgSender","nameLocation":"7791:35:200","parameters":{"id":135685,"nodeType":"ParameterList","parameters":[],"src":"7826:2:200"},"returnParameters":{"id":135686,"nodeType":"ParameterList","parameters":[],"src":"7836:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135756,"nodeType":"FunctionDefinition","src":"8038:242:200","nodes":[],"body":{"id":135755,"nodeType":"Block","src":"8088:192:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135726,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"8103:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135723,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"8094:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8097:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"8094:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8094:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135728,"nodeType":"ExpressionStatement","src":"8094:16:200"},{"assignments":[135730],"declarations":[{"constant":false,"id":135730,"mutability":"mutable","name":"returnData","nameLocation":"8129:10:200","nodeType":"VariableDeclaration","scope":135755,"src":"8116:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135729,"name":"bytes","nodeType":"ElementaryTypeName","src":"8116:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135740,"initialValue":{"arguments":[{"id":135732,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134976,"src":"8162:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135735,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"8188:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8199:5:200","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":134900,"src":"8188:16:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":135737,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8206:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135733,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8173:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8177:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"8173:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8173:36:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135731,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135182,135234],"referencedDeclaration":135182,"src":"8142:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8142:68:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8116:94:200"},{"expression":{"arguments":[{"arguments":[{"id":135744,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135730,"src":"8236:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8249:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135745,"name":"address","nodeType":"ElementaryTypeName","src":"8249:7:200","typeDescriptions":{}}}],"id":135747,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8248:9:200","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":135742,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8225:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8229:6:200","memberName":"decode","nodeType":"MemberAccess","src":"8225:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8225:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":135751,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"8268:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}],"id":135750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8260:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135749,"name":"address","nodeType":"ElementaryTypeName","src":"8260:7:200","typeDescriptions":{}}},"id":135752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8260:14:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135741,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"8216:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8216:59:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135754,"nodeType":"ExpressionStatement","src":"8216:59:200"}]},"functionSelector":"4478d618","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromNonRootWorld","nameLocation":"8047:31:200","parameters":{"id":135721,"nodeType":"ParameterList","parameters":[],"src":"8078:2:200"},"returnParameters":{"id":135722,"nodeType":"ParameterList","parameters":[],"src":"8088:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135790,"nodeType":"FunctionDefinition","src":"8284:239:200","nodes":[],"body":{"id":135789,"nodeType":"Block","src":"8333:190:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135762,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"8348:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135759,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"8339:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8342:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"8339:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8339:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135764,"nodeType":"ExpressionStatement","src":"8339:16:200"},{"assignments":[135766],"declarations":[{"constant":false,"id":135766,"mutability":"mutable","name":"returnData","nameLocation":"8374:10:200","nodeType":"VariableDeclaration","scope":135789,"src":"8361:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135765,"name":"bytes","nodeType":"ElementaryTypeName","src":"8361:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135777,"initialValue":{"arguments":[{"id":135768,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134976,"src":"8407:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135771,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"8433:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8444:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134910,"src":"8433:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":135773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8451:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":135774,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8450:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8418:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8422:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"8418:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8418:42:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135767,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135182,135234],"referencedDeclaration":135182,"src":"8387:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8387:74:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8361:100:200"},{"expression":{"arguments":[{"arguments":[{"id":135781,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135766,"src":"8487:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8500:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135782,"name":"string","nodeType":"ElementaryTypeName","src":"8500:6:200","typeDescriptions":{}}}],"id":135784,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8499:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135779,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8476:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8480:6:200","memberName":"decode","nodeType":"MemberAccess","src":"8476:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8476:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8510:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135778,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"8467:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8467:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135788,"nodeType":"ExpressionStatement","src":"8467:51:200"}]},"functionSelector":"aec62e14","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromNonRootEcho","nameLocation":"8293:30:200","parameters":{"id":135757,"nodeType":"ParameterList","parameters":[],"src":"8323:2:200"},"returnParameters":{"id":135758,"nodeType":"ParameterList","parameters":[],"src":"8333:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135836,"nodeType":"FunctionDefinition","src":"8527:436:200","nodes":[],"body":{"id":135835,"nodeType":"Block","src":"8585:378:200","nodes":[],"statements":[{"assignments":[135794],"declarations":[{"constant":false,"id":135794,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"8598:21:200","nodeType":"VariableDeclaration","scope":135835,"src":"8591:28:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":135793,"name":"bytes4","nodeType":"ElementaryTypeName","src":"8591:6:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":135803,"initialValue":{"arguments":[{"id":135797,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134976,"src":"8664:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":135798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8681:14:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":135799,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134941,"src":"8703:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134941_$","typeString":"type(contract EchoSystem)"}},"id":135800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8714:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134910,"src":"8703:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},"id":135801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8719:8:200","memberName":"selector","nodeType":"MemberAccess","src":"8703:24:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":135795,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134958,"src":"8622:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8628:28:200","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24513,"src":"8622:34:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":135802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8622:111:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"8591:142:200"},{"assignments":[135805],"declarations":[{"constant":false,"id":135805,"mutability":"mutable","name":"callData","nameLocation":"8752:8:200","nodeType":"VariableDeclaration","scope":135835,"src":"8739:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135804,"name":"bytes","nodeType":"ElementaryTypeName","src":"8739:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135811,"initialValue":{"arguments":[{"id":135808,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135794,"src":"8786:21:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":135809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8809:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135806,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8763:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8767:18:200","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8763:22:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":135810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8763:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8739:78:200"},{"expression":{"arguments":[{"id":135815,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134947,"src":"8833:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135812,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"8824:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8827:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"8824:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8824:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135817,"nodeType":"ExpressionStatement","src":"8824:16:200"},{"assignments":[135819],"declarations":[{"constant":false,"id":135819,"mutability":"mutable","name":"returnData","nameLocation":"8859:10:200","nodeType":"VariableDeclaration","scope":135835,"src":"8846:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135818,"name":"bytes","nodeType":"ElementaryTypeName","src":"8846:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135823,"initialValue":{"arguments":[{"id":135821,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135805,"src":"8892:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135820,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135182,135234],"referencedDeclaration":135234,"src":"8872:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":135822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8872:29:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8846:55:200"},{"expression":{"arguments":[{"arguments":[{"id":135827,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135819,"src":"8927:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8940:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135828,"name":"string","nodeType":"ElementaryTypeName","src":"8940:6:200","typeDescriptions":{}}}],"id":135830,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8939:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135825,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8916:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8920:6:200","memberName":"decode","nodeType":"MemberAccess","src":"8916:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8916:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8950:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135824,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"8907:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8907:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135834,"nodeType":"ExpressionStatement","src":"8907:51:200"}]},"functionSelector":"54dcf132","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromNonRootWorldSelector","nameLocation":"8536:39:200","parameters":{"id":135791,"nodeType":"ParameterList","parameters":[],"src":"8575:2:200"},"returnParameters":{"id":135792,"nodeType":"ParameterList","parameters":[],"src":"8585:0:200"},"scope":135837,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":134948,"name":"Test","nameLocations":["1432:4:200"],"nodeType":"IdentifierPath","referencedDeclaration":58812,"src":"1432:4:200"},"id":134949,"nodeType":"InheritanceSpecifier","src":"1432:4:200"},{"baseName":{"id":134950,"name":"GasReporter","nameLocations":["1438:11:200"],"nodeType":"IdentifierPath","referencedDeclaration":226,"src":"1438:11:200"},"id":134951,"nodeType":"InheritanceSpecifier","src":"1438:11:200"}],"canonicalName":"SystemSwitchTest","contractDependencies":[23730,35431,35451,35650,35830,36019,134941],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[135837,226,58812,49271,49268,58761,54499,54209,53445,51391,50698,49205],"name":"SystemSwitchTest","nameLocation":"1412:16:200","scope":135838,"usedErrors":[],"usedEvents":[46919,46923,46927,46931,46935,46939,46943,46947,46953,46959,46967,46975,46981,46987,46993,46999,49293,49298,49303,49310,49317,49324]}],"license":"MIT"},"id":200}
1
+ {"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"callViaSelector","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"echo","inputs":[{"name":"message","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"msgSender","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50611522806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c806345ec935411610076578063d737d0c71161005b578063d737d0c71461014b578063e1af802c14610153578063f15da7291461015b57600080fd5b806345ec93541461012557806396f09da61461013857600080fd5b806301ffc9a7146100a8578063119df25f146100d057806330b67baa146100fd5780633ae7af0814610105575b600080fd5b6100bb6100b6366004610f21565b61016c565b60405190151581526020015b60405180910390f35b6100d8610205565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100c7565b6100d8610214565b610118610113366004611030565b61021e565b6040516100c791906110c7565b604051601f1936013581526020016100c7565b6101186101463660046110da565b610231565b6100d861023c565b6100d8610246565b61011861016936600461110f565b90565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101ff57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020f610250565b905090565b600061020f610246565b606061022a8383610281565b9392505050565b60606101ff826103f3565b600061020f610205565b600061020f6104a1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061016957503390565b6060600061028d610246565b905073ffffffffffffffffffffffffffffffffffffffff811630036103505760006102b7856104ed565b50905073ffffffffffffffffffffffffffffffffffffffff811661031c57846102df86610611565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610313929190611158565b60405180910390fd5b6000610336610329610250565b36601f190135848861074e565b945090508061034857610348846107cf565b5050506101ff565b6040517f3ae7af0800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633ae7af08906103a49087908790600401611158565b6000604051808303816000875af11580156103c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103eb91908101906111b6565b949350505050565b6060600080610409610404856111eb565b6107d7565b91509150816000801b0361046f576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610313565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526103eb8285610281565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff16806104e8573391505090565b919050565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106105275761052761123b565b602090810291909101810191909152604080517f7462000000000000000000000000000000000000000000000000000000000000818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f53797374656d730000000000000000000000000000000000000000000000000060308201528151808203909301835281019052600090819081906105f3906105cd90611251565b857e1502001401000000000000000000000000000000000000000000000000000061090d565b9250925092506106048383836109f7565b9550955050505050915091565b606081601081901b600061062483610a0f565b9050827fffffffffffffffffffffffffffff00000000000000000000000000000000000083161561067f5761067a7fffffffffffffffffffffffffffff0000000000000000000000000000000000008416610a26565b6106b6565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156106ec576106e783610a26565b610723565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161073593929190611278565b6040516020818303038152906040529350505050919050565b600060608373ffffffffffffffffffffffffffffffffffffffff16610774848888610ad4565b6040516107819190611306565b600060405180830381855af49150503d80600081146107bc576040519150601f19603f3d011682016040523d82523d6000602084013e6107c1565b606091505b509097909650945050505050565b805160208201fd5b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106108305761083061123b565b602090810291909101810191909152604080517f7462000000000000000000000000000000000000000000000000000000000000818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f46756e6374696f6e53656c6563746f720000000000000000000000000000000060308201528151808203909301835281019052600090819081906108fc906108d690611251565b857e2402002004000000000000000000000000000000000000000000000000000061090d565b925092509250610604838383610b03565b606060006060600061091d6104a1565b90503073ffffffffffffffffffffffffffffffffffffffff82160361095357610947878787610b0f565b935093509350506109ee565b6040517f419b58fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063419b58fd906109a9908a908a908a90600401611322565b600060405180830381865afa1580156109c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109479190810190611379565b93509350939050565b600080610a0385610c17565b90969095509350505050565b6000610a1d607060106113fc565b9190911b919050565b606060005b6010811015610a95577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610a955780610a8d8161140f565b915050610a2b565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806103eb565b6060838383604051602001610aeb93929190611429565b60405160208183030381529060405290509392505050565b600080610a0385610c36565b6060600060606000610b2085610c48565b9050610b2d878783610c6b565b93506000610b3a86610cad565b90508015610c0c57610b4c8888610cea565b935066ffffffffffffff841667ffffffffffffffff811115610b7057610b70610f63565b6040519080825280601f01601f191660200182016040528015610b9a576020820181803683370190505b5092506020830160005b828160ff161015610c09576000610bbc8b8b84610cfd565b90506000610bd9888460ff166028026038011c64ffffffffff1690565b9050610be88260008387610d7d565b610bf281856113fc565b935050508080610c019061147b565b915050610ba4565b50505b505093509350939050565b6020810151603482015160609190911c9060009060f81c5b9050915091565b60208101516040820151600090610c2f565b60006008610c586002602061149a565b610c6291906114ad565b9190911c919050565b606081600003610c8a575060408051602081019091526000815261022a565b6000610c968585610e4a565b9050610ca481600085610ea0565b95945050505050565b60006008600180610cc06002602061149a565b610cca919061149a565b610cd4919061149a565b610cde91906114ad565b8260ff911c1692915050565b600061022a610cf98484610ecb565b5490565b60008383604051602001610d129291906114c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215610e065760208310610da757602083048401935060208381610da357610da36114ff565b0692505b8215610e06576020839003600081841015610dcb5750600019600884021c19610dd6565b50600019600882021c195b8554600886021b811984511682821617845250818411610df7575050610e44565b50600194909401939182900391015b5b60208210610e285783548152600190930192601f1990910190602001610e07565b8115610e445780518454600019600885021c9182169119161781525b50505050565b60008282604051602001610e5f9291906114c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b60405160208101601f19603f8484010116604052828252610ec385858584610d7d565b509392505050565b60008282604051602001610ee09291906114c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600060208284031215610f3357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461022a57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610fa257610fa2610f63565b604052919050565b600067ffffffffffffffff821115610fc457610fc4610f63565b50601f01601f191660200190565b6000610fe5610fe084610faa565b610f79565b9050828152838383011115610ff957600080fd5b828260208301376000602084830101529392505050565b600082601f83011261102157600080fd5b61022a83833560208501610fd2565b6000806040838503121561104357600080fd5b82359150602083013567ffffffffffffffff81111561106157600080fd5b61106d85828601611010565b9150509250929050565b60005b8381101561109257818101518382015260200161107a565b50506000910152565b600081518084526110b3816020860160208601611077565b601f01601f19169290920160200192915050565b60208152600061022a602083018461109b565b6000602082840312156110ec57600080fd5b813567ffffffffffffffff81111561110357600080fd5b6103eb84828501611010565b60006020828403121561112157600080fd5b813567ffffffffffffffff81111561113857600080fd5b8201601f8101841361114957600080fd5b6103eb84823560208401610fd2565b8281526040602082015260006103eb604083018461109b565b600082601f83011261118257600080fd5b8151611190610fe082610faa565b8181528460208386010111156111a557600080fd5b6103eb826020830160208701611077565b6000602082840312156111c857600080fd5b815167ffffffffffffffff8111156111df57600080fd5b6103eb84828501611171565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156112335780818460040360031b1b83161693505b505050919050565b634e487b7160e01b600052603260045260246000fd5b80516020808301519190811015611272576000198160200360031b1b821691505b50919050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516112d9816003860160208901611077565b8084019050816003820152845191506112f9826004830160208801611077565b0160040195945050505050565b60008251611318818460208701611077565b9190910192915050565b6000606082018583526020606081850152818651808452608086019150828801935060005b8181101561136357845183529383019391830191600101611347565b5050809350505050826040830152949350505050565b60008060006060848603121561138e57600080fd5b835167ffffffffffffffff808211156113a657600080fd5b6113b287838801611171565b94506020860151935060408601519150808211156113cf57600080fd5b506113dc86828701611171565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6113e6565b60006000198203611422576114226113e6565b5060010190565b6000845161143b818460208901611077565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b600060ff821660ff8103611491576114916113e6565b60010192915050565b818103818111156101ff576101ff6113e6565b80820281158282048414176101ff576101ff6113e6565b82815260006020808301845182860160005b828110156114f2578151845292840192908401906001016114d6565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fdfea164736f6c6343000815000a","sourceMap":"789:570:200:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a35760003560e01c806345ec935411610076578063d737d0c71161005b578063d737d0c71461014b578063e1af802c14610153578063f15da7291461015b57600080fd5b806345ec93541461012557806396f09da61461013857600080fd5b806301ffc9a7146100a8578063119df25f146100d057806330b67baa146100fd5780633ae7af0814610105575b600080fd5b6100bb6100b6366004610f21565b61016c565b60405190151581526020015b60405180910390f35b6100d8610205565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100c7565b6100d8610214565b610118610113366004611030565b61021e565b6040516100c791906110c7565b604051601f1936013581526020016100c7565b6101186101463660046110da565b610231565b6100d861023c565b6100d8610246565b61011861016936600461110f565b90565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101ff57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061020f610250565b905090565b600061020f610246565b606061022a8383610281565b9392505050565b60606101ff826103f3565b600061020f610205565b600061020f6104a1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061016957503390565b6060600061028d610246565b905073ffffffffffffffffffffffffffffffffffffffff811630036103505760006102b7856104ed565b50905073ffffffffffffffffffffffffffffffffffffffff811661031c57846102df86610611565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610313929190611158565b60405180910390fd5b6000610336610329610250565b36601f190135848861074e565b945090508061034857610348846107cf565b5050506101ff565b6040517f3ae7af0800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633ae7af08906103a49087908790600401611158565b6000604051808303816000875af11580156103c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103eb91908101906111b6565b949350505050565b6060600080610409610404856111eb565b6107d7565b91509150816000801b0361046f576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000600035166004820152602401610313565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526103eb8285610281565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff16806104e8573391505090565b919050565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106105275761052761123b565b602090810291909101810191909152604080517f7462000000000000000000000000000000000000000000000000000000000000818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f53797374656d730000000000000000000000000000000000000000000000000060308201528151808203909301835281019052600090819081906105f3906105cd90611251565b857e1502001401000000000000000000000000000000000000000000000000000061090d565b9250925092506106048383836109f7565b9550955050505050915091565b606081601081901b600061062483610a0f565b9050827fffffffffffffffffffffffffffff00000000000000000000000000000000000083161561067f5761067a7fffffffffffffffffffffffffffff0000000000000000000000000000000000008416610a26565b6106b6565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156106ec576106e783610a26565b610723565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161073593929190611278565b6040516020818303038152906040529350505050919050565b600060608373ffffffffffffffffffffffffffffffffffffffff16610774848888610ad4565b6040516107819190611306565b600060405180830381855af49150503d80600081146107bc576040519150601f19603f3d011682016040523d82523d6000602084013e6107c1565b606091505b509097909650945050505050565b805160208201fd5b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106108305761083061123b565b602090810291909101810191909152604080517f7462000000000000000000000000000000000000000000000000000000000000818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f46756e6374696f6e53656c6563746f720000000000000000000000000000000060308201528151808203909301835281019052600090819081906108fc906108d690611251565b857e2402002004000000000000000000000000000000000000000000000000000061090d565b925092509250610604838383610b03565b606060006060600061091d6104a1565b90503073ffffffffffffffffffffffffffffffffffffffff82160361095357610947878787610b0f565b935093509350506109ee565b6040517f419b58fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063419b58fd906109a9908a908a908a90600401611322565b600060405180830381865afa1580156109c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109479190810190611379565b93509350939050565b600080610a0385610c17565b90969095509350505050565b6000610a1d607060106113fc565b9190911b919050565b606060005b6010811015610a95577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610a955780610a8d8161140f565b915050610a2b565b604080517fffffffffffffffffffffffffffffffff000000000000000000000000000000008516602082015281516030909101909152818152806103eb565b6060838383604051602001610aeb93929190611429565b60405160208183030381529060405290509392505050565b600080610a0385610c36565b6060600060606000610b2085610c48565b9050610b2d878783610c6b565b93506000610b3a86610cad565b90508015610c0c57610b4c8888610cea565b935066ffffffffffffff841667ffffffffffffffff811115610b7057610b70610f63565b6040519080825280601f01601f191660200182016040528015610b9a576020820181803683370190505b5092506020830160005b828160ff161015610c09576000610bbc8b8b84610cfd565b90506000610bd9888460ff166028026038011c64ffffffffff1690565b9050610be88260008387610d7d565b610bf281856113fc565b935050508080610c019061147b565b915050610ba4565b50505b505093509350939050565b6020810151603482015160609190911c9060009060f81c5b9050915091565b60208101516040820151600090610c2f565b60006008610c586002602061149a565b610c6291906114ad565b9190911c919050565b606081600003610c8a575060408051602081019091526000815261022a565b6000610c968585610e4a565b9050610ca481600085610ea0565b95945050505050565b60006008600180610cc06002602061149a565b610cca919061149a565b610cd4919061149a565b610cde91906114ad565b8260ff911c1692915050565b600061022a610cf98484610ecb565b5490565b60008383604051602001610d129291906114c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215610e065760208310610da757602083048401935060208381610da357610da36114ff565b0692505b8215610e06576020839003600081841015610dcb5750600019600884021c19610dd6565b50600019600882021c195b8554600886021b811984511682821617845250818411610df7575050610e44565b50600194909401939182900391015b5b60208210610e285783548152600190930192601f1990910190602001610e07565b8115610e445780518454600019600885021c9182169119161781525b50505050565b60008282604051602001610e5f9291906114c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b60405160208101601f19603f8484010116604052828252610ec385858584610d7d565b509392505050565b60008282604051602001610ee09291906114c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600060208284031215610f3357600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461022a57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610fa257610fa2610f63565b604052919050565b600067ffffffffffffffff821115610fc457610fc4610f63565b50601f01601f191660200190565b6000610fe5610fe084610faa565b610f79565b9050828152838383011115610ff957600080fd5b828260208301376000602084830101529392505050565b600082601f83011261102157600080fd5b61022a83833560208501610fd2565b6000806040838503121561104357600080fd5b82359150602083013567ffffffffffffffff81111561106157600080fd5b61106d85828601611010565b9150509250929050565b60005b8381101561109257818101518382015260200161107a565b50506000910152565b600081518084526110b3816020860160208601611077565b601f01601f19169290920160200192915050565b60208152600061022a602083018461109b565b6000602082840312156110ec57600080fd5b813567ffffffffffffffff81111561110357600080fd5b6103eb84828501611010565b60006020828403121561112157600080fd5b813567ffffffffffffffff81111561113857600080fd5b8201601f8101841361114957600080fd5b6103eb84823560208401610fd2565b8281526040602082015260006103eb604083018461109b565b600082601f83011261118257600080fd5b8151611190610fe082610faa565b8181528460208386010111156111a557600080fd5b6103eb826020830160208701611077565b6000602082840312156111c857600080fd5b815167ffffffffffffffff8111156111df57600080fd5b6103eb84828501611171565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156112335780818460040360031b1b83161693505b505050919050565b634e487b7160e01b600052603260045260246000fd5b80516020808301519190811015611272576000198160200360031b1b821691505b50919050565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516112d9816003860160208901611077565b8084019050816003820152845191506112f9826004830160208801611077565b0160040195945050505050565b60008251611318818460208701611077565b9190910192915050565b6000606082018583526020606081850152818651808452608086019150828801935060005b8181101561136357845183529383019391830191600101611347565b5050809350505050826040830152949350505050565b60008060006060848603121561138e57600080fd5b835167ffffffffffffffff808211156113a657600080fd5b6113b287838801611171565b94506020860151935060408601519150808211156113cf57600080fd5b506113dc86828701611171565b9150509250925092565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ff576101ff6113e6565b60006000198203611422576114226113e6565b5060010190565b6000845161143b818460208901611077565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b600060ff821660ff8103611491576114916113e6565b60010192915050565b818103818111156101ff576101ff6113e6565b80820281158282048414176101ff576101ff6113e6565b82815260006020808301845182860160005b828110156114f2578151845292840192908401906001016114d6565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fdfea164736f6c6343000815000a","sourceMap":"789:570:200:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2311:188:58;;;;;;:::i;:::-;;:::i;:::-;;;516:14:203;;509:22;491:41;;479:2;464:18;2311:188:58;;;;;;;;1245:113;;;:::i;:::-;;;719:42:203;707:55;;;689:74;;677:2;662:18;1245:113:58;543:226:203;908:73:200;;;:::i;1087:143::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1599:110:58:-;;;-1:-1:-1;;3585:14:58;3581:23;3568:37;3499:25:203;;3487:2;3472:18;1599:110:58;3353:177:203;1234:123:200;;;;;;:::i;:::-;;:::i;823:81::-;;;:::i;1925:95:58:-;;;:::i;985:98:200:-;;;;;;:::i;:::-;1071:7;985:98;2311:188:58;2387:4;2406:50;;;464:128:50;2406:50:58;;:88;;-1:-1:-1;2460:34:58;;;188::47;2460::58;2406:88;2399:95;2311:188;-1:-1:-1;;2311:188:58:o;1245:113::-;1288:14;1317:36;:34;:36::i;:::-;1310:43;;1245:113;:::o;908:73:200:-;946:7;968:8;:6;:8::i;1087:143::-;1161:12;1188:37;1206:8;1216;1188:17;:37::i;:::-;1181:44;1087:143;-1:-1:-1;;;1087:143:200:o;1234:123::-;1298:12;1325:27;1343:8;1325:17;:27::i;823:81::-;865:7;887:12;:10;:12::i;1925:95:58:-;1964:7;1986:29;:27;:29::i;2779:381::-;3063:34;3067:14;3063:34;3050:48;3046:2;3042:57;;3110:45;;-1:-1:-1;3145:10:58;2779:381;:::o;1976:978:193:-;2052:23;2083:20;2106:32;:30;:32::i;:::-;2083:55;-1:-1:-1;2229:29:193;;;2237:4;2229:29;2225:605;;2269:21;2296;2308:8;2296:11;:21::i;:::-;-1:-1:-1;2268:49:193;-1:-1:-1;2365:27:193;;;2361:106;;2437:8;2447:19;:8;:17;:19::i;:::-;2401:66;;;;;;;;;;;;:::i;:::-;;;;;;;;2361:106;2476:12;2520:228;2589:36;:34;:36::i;:::-;3585:14:58;-1:-1:-1;;3581:23:58;3568:37;2698:13:193;2731:8;2520:47;:228::i;:::-;2496:252;-1:-1:-1;2496:252:193;-1:-1:-1;2496:252:193;2757:41;;2771:27;2787:10;2771:15;:27::i;:::-;2806:17;;;;;2225:605;2898:51;;;;;:31;;;;;;:51;;2930:8;;2940;;2898:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2898:51:193;;;;;;;;;;;;:::i;:::-;2885:64;1976:978;-1:-1:-1;;;;1976:978:193:o;3480:662::-;3535:23;3678:19;;3732:39;3754:16;3761:8;3754:16;:::i;:::-;3732:21;:39::i;:::-;3677:94;;;;3852:8;3865:1;3834:32;;;3830:97;;3875:52;;;;;3919:7;;;;3875:52;;;6531:98:203;6504:18;;3875:52:193;6387:248:203;3830:97:193;1693:4:2;1678:28;;1672:35;;1781:9;1770:21;1837:20;;1895:43;;4045:92:193;4062:8;4098;4045:4;:92::i;1766:227:24:-;996:42;1855:22;1816:7;;1855:22;;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:24:o;6202:433:77:-;6329:16;;;6343:1;6329:16;;;;;;;;;6259:14;;;;;;6329:16;;;;;;;;;;;-1:-1:-1;6329:16:77;6300:45;;6384:8;6351:9;6361:1;6351:12;;;;;;;;:::i;:::-;;;;;;;;;;;:42;;;;1253:70;;;1270:14;1253:70;;;7012:92:203;1286:16:77;7120:11:203;;;7113:100;1304:18:77;7229:12:203;;;7222:101;1253:70:77;;;;;;;;;;7339:12:203;;1253:70:77;;-1:-1:-1;;;;;;6487:80:77;;1245:79;;;:::i;:::-;6532:9;1432:66;6487:21;:80::i;:::-;6400:167;;;;;;6580:50;6587:11;6600:15;6617:12;6580:6;:50::i;:::-;6573:57;;;;;;;;6202:433;;;:::o;3312:592:59:-;3376:13;3446:10;336:5:16;2463:44:59;;;3397:19;3544;3446:10;3544:7;:19::i;:::-;3521:42;-1:-1:-1;3626:12:59;3665:35;;;;:102;;3714:53;;;;:34;:53::i;:::-;3665:102;;;;;;;;;;;;;;;;;;;;;3794:25;;;;:87;;3833:48;3868:12;3833:34;:48::i;:::-;3794:87;;;;;;;;;;;;;;;;;;;;;3598:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3569:330;;;;;3312:592;;;:::o;6132:321:58:-;6279:12;6293:17;6336:6;:19;;6363:79;6389:8;6410:9;6431:8;6363:13;:79::i;:::-;6336:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6318:130:58;;;;-1:-1:-1;6132:321:58;-1:-1:-1;;;;;6132:321:58:o;501:217:91:-;704:6;698:13;691:4;683:6;679:17;672:40;6470:452:69;6618:16;;;6632:1;6618:16;;;;;;;;;6531:19;;;;;;6618:16;;;;;;;;;;;-1:-1:-1;6618:16:69;6589:45;;6663:16;6655:25;;;6640:9;6650:1;6640:12;;;;;;;;:::i;:::-;;;;;;;;;;;:40;;;;1253:79;;;1270:14;1253:79;;;7012:92:203;1286:16:69;7120:11:203;;;7113:100;1304:27:69;7229:12:203;;;7222:101;1253:79:69;;;;;;;;;;7339:12:203;;1253:79:69;;-1:-1:-1;;;;;;6774:80:69;;1245:88;;;:::i;:::-;6819:9;1451:66;6774:21;:80::i;:::-;6687:167;;;;;;6867:50;6874:11;6887:15;6904:12;6867:6;:50::i;15275:430:24:-;15405:12;15419:13;15434:12;15454:21;15478:17;:15;:17::i;:::-;15454:41;-1:-1:-1;15530:4:24;15505:30;;;;15501:200;;15552:51;15572:7;15581:8;15591:11;15552:19;:51::i;:::-;15545:58;;;;;;;;;15501:200;15631:63;;;;;:31;;;;;;:63;;15663:7;;15672:8;;15682:11;;15631:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15631:63:24;;;;;;;;;;;;:::i;15275:430::-;;;;;;;;:::o;8575:206:77:-;8685:14;8701:17;8751:25;8764:11;8751:12;:25::i;:::-;8726:50;;;;-1:-1:-1;8575:206:77;-1:-1:-1;;;;8575:206:77:o;2991:160:59:-;3054:7;3118:26;399:6;336:5:16;3118:26:59;:::i;:::-;3084:61;;;;;2991:160;-1:-1:-1;2991:160:59:o;1757:322::-;1827:13;1848:14;1868:80;1884:2;1875:6;:11;1868:80;;;1902:34;;;3181:1:2;3177:13;;3173:24;1902:39:59;;1898:50;1943:5;1898:50;1888:8;;;;:::i;:::-;;;;1868:80;;;1984:30;;;11118:66:203;11106:79;;1984:30:59;;;11094:92:203;1984:30:59;;11202:12:203;;;;1984:30:59;;;809:21:2;;;1984:30:59;2034:39;694:164:2;4614:201:58;4736:12;4780:8;4790:9;4801:8;4763:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4756:54;;4614:201;;;;;:::o;8962:235:69:-;9072:19;9093:29;9167:25;9180:11;9167:12;:25::i;32184:1314:20:-;32314:23;32339:28;32369:24;32435:20;32458:30;:11;:28;:30::i;:::-;32435:53;;32549:65;32582:7;32591:8;32601:12;32549:32;:65::i;:::-;32536:78;;32678:24;32705:30;:11;:28;:30::i;:::-;32678:57;-1:-1:-1;32745:20:20;;32741:753;;32838:66;32886:7;32895:8;32838:47;:66::i;:::-;32821:83;-1:-1:-1;6184:59:15;;;32956:33:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32956:33:20;-1:-1:-1;32942:47:20;-1:-1:-1;826:4:14;816:15;;32997:21:20;33061:427;33079:16;33075:1;:20;;;33061:427;;;33112:27;33142:63;33184:7;33193:8;33203:1;33142:41;:63::i;:::-;33112:93;-1:-1:-1;33215:14:20;33232:25;:14;33255:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;33232:25:20;33215:42;;33267:110;33298:19;33327:1;33338:6;33361:13;33267:12;:110::i;:::-;33456:23;33473:6;33456:23;;:::i;:::-;;;33102:386;;33097:3;;;;;:::i;:::-;;;;33061:427;;;;32767:727;32741:753;32395:1103;;32184:1314;;;;;;;:::o;8200:217:77:-;7014:4:2;7000:27;;6994:34;7000:27;;;6994:34;8316:32:77;;;;;;8265:14;;8380:30;;8372:39;8356:56;;8200:217;;;:::o;8568:236:69:-;7014:4:2;7000:27;;6994:34;7000:27;;;6994:34;8633:19:69;;8775:23;6858:199:2;4561:171:3;4635:7;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4657:70:3;;;;;4561:171;-1:-1:-1;4561:171:3:o;48020:360:20:-;48146:12;48170:6;48180:1;48170:11;48166:26;;-1:-1:-1;48183:9:20;;;;;;;;;-1:-1:-1;48183:9:20;;;;48166:26;48233:16;48252:41;48275:7;48284:8;48252:22;:41::i;:::-;48233:60;;48306:69;48337:8;48355:1;48366:6;48306:12;:69::i;:::-;48299:76;48020:360;-1:-1:-1;;;;;48020:360:20:o;5340:173:3:-;5414:7;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5450:11:3;5429:79;5442:65;;5429:79;;5340:173;-1:-1:-1;;5340:173:3:o;53136:301:20:-;53257:13;53349:82;53380:48;53410:7;53419:8;53380:29;:48::i;:::-;4640:21:19;;4534:137;51939:274:20;52083:7;52188;52197:8;52171:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52161:46;;;;;;52140:17;52133:25;;52113:45;;;41681:34;52113:45;:94;52105:103;;52098:110;;51939:274;;;;;:::o;6001:2377:19:-;6118:10;;6114:1540;;6271:2;6261:6;:12;6257:122;;6334:2;6325:6;:11;6307:29;;;;6358:2;6348:12;;;;;;:::i;:::-;;;;6257:122;6469:10;;6465:1183;;6677:2;:11;;;6551:21;6735:22;;;6731:133;;;-1:-1:-1;;;537:1:30;1116:25:31;;1094:48;1092:51;6731:133:19;;;-1:-1:-1;;;537:1:30;1116:25:31;;1094:48;1092:51;6731:133:19;7058:14;7052:21;7037:12;7029:6;7025:25;7021:53;7297:4;7293:9;7277:13;7271:20;7267:36;7204:4;7192:10;7188:21;7133:184;7106:13;7086:243;;7388:13;7378:6;:23;7374:36;;7403:7;;;;7374:36;-1:-1:-1;7551:1:19;7533:19;;;;;7606:23;;;;;7564:30;6465:1183;7683:253;7700:2;7690:6;:12;7683:253;;7794:21;;7772:44;;7869:1;7851:19;;;;-1:-1:-1;;7909:12:19;;;;7897:2;7880:19;7683:253;;;8004:10;;8000:374;;8306:20;;8221:21;;-1:-1:-1;;537:1:30;1116:25:31;;1094:48;8302:36:19;;;1092:51:31;;8217:32:19;8166:184;8123:237;;8000:374;6001:2377;;;;:::o;50003:191:20:-;50105:7;50169;50178:8;50152:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50152:35:20;;;;;;;;;50142:46;;50152:35;50142:46;;;;41609:22;50135:53;;50003:191;-1:-1:-1;;;50003:191:20:o;4971:665:19:-;5383:4;5377:11;5424:4;5412:17;;-1:-1:-1;;5302:14:19;5471:26;;;5302:14;5298:28;5443:4;5436:63;5543:6;5535;5528:22;5561:51;5566:14;5582:6;5590;5598:13;5561:4;:51::i;:::-;5618:13;4971:665;;;;;:::o;52568:230:20:-;52689:7;52773;52782:8;52756:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52756:35:20;;;;;;;;;52746:46;;52756:35;52746:46;;;;41772:40;52719:73;;52568:230;-1:-1:-1;;;52568:230:20:o;14:332:203:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:184;-1:-1:-1;;;823:1:203;816:88;923:4;920:1;913:15;947:4;944:1;937:15;963:334;1034:2;1028:9;1090:2;1080:13;;-1:-1:-1;;1076:86:203;1064:99;;1193:18;1178:34;;1214:22;;;1175:62;1172:88;;;1240:18;;:::i;:::-;1276:2;1269:22;963:334;;-1:-1:-1;963:334:203:o;1302:245::-;1350:4;1383:18;1375:6;1372:30;1369:56;;;1405:18;;:::i;:::-;-1:-1:-1;1462:2:203;1450:15;-1:-1:-1;;1446:88:203;1536:4;1442:99;;1302:245::o;1552:336::-;1616:5;1645:52;1661:35;1689:6;1661:35;:::i;:::-;1645:52;:::i;:::-;1636:61;;1720:6;1713:5;1706:21;1760:3;1751:6;1746:3;1742:16;1739:25;1736:45;;;1777:1;1774;1767:12;1736:45;1826:6;1821:3;1814:4;1807:5;1803:16;1790:43;1880:1;1873:4;1864:6;1857:5;1853:18;1849:29;1842:40;1552:336;;;;;:::o;1893:220::-;1935:5;1988:3;1981:4;1973:6;1969:17;1965:27;1955:55;;2006:1;2003;1996:12;1955:55;2028:79;2103:3;2094:6;2081:20;2074:4;2066:6;2062:17;2028:79;:::i;2118:419::-;2226:6;2234;2287:2;2275:9;2266:7;2262:23;2258:32;2255:52;;;2303:1;2300;2293:12;2255:52;2339:9;2326:23;2316:33;;2400:2;2389:9;2385:18;2372:32;2427:18;2419:6;2416:30;2413:50;;;2459:1;2456;2449:12;2413:50;2482:49;2523:7;2514:6;2503:9;2499:22;2482:49;:::i;:::-;2472:59;;;2118:419;;;;;:::o;2542:250::-;2627:1;2637:113;2651:6;2648:1;2645:13;2637:113;;;2727:11;;;2721:18;2708:11;;;2701:39;2673:2;2666:10;2637:113;;;-1:-1:-1;;2784:1:203;2766:16;;2759:27;2542:250::o;2797:329::-;2838:3;2876:5;2870:12;2903:6;2898:3;2891:19;2919:76;2988:6;2981:4;2976:3;2972:14;2965:4;2958:5;2954:16;2919:76;:::i;:::-;3040:2;3028:15;-1:-1:-1;;3024:88:203;3015:98;;;;3115:4;3011:109;;2797:329;-1:-1:-1;;2797:329:203:o;3131:217::-;3278:2;3267:9;3260:21;3241:4;3298:44;3338:2;3327:9;3323:18;3315:6;3298:44;:::i;3535:320::-;3603:6;3656:2;3644:9;3635:7;3631:23;3627:32;3624:52;;;3672:1;3669;3662:12;3624:52;3712:9;3699:23;3745:18;3737:6;3734:30;3731:50;;;3777:1;3774;3767:12;3731:50;3800:49;3841:7;3832:6;3821:9;3817:22;3800:49;:::i;3860:450::-;3929:6;3982:2;3970:9;3961:7;3957:23;3953:32;3950:52;;;3998:1;3995;3988:12;3950:52;4038:9;4025:23;4071:18;4063:6;4060:30;4057:50;;;4103:1;4100;4093:12;4057:50;4126:22;;4179:4;4171:13;;4167:27;-1:-1:-1;4157:55:203;;4208:1;4205;4198:12;4157:55;4231:73;4296:7;4291:2;4278:16;4273:2;4269;4265:11;4231:73;:::i;4539:321::-;4747:6;4736:9;4729:25;4790:2;4785;4774:9;4770:18;4763:30;4710:4;4810:44;4850:2;4839:9;4835:18;4827:6;4810:44;:::i;5189:441::-;5242:5;5295:3;5288:4;5280:6;5276:17;5272:27;5262:55;;5313:1;5310;5303:12;5262:55;5342:6;5336:13;5373:48;5389:31;5417:2;5389:31;:::i;5373:48::-;5446:2;5437:7;5430:19;5492:3;5485:4;5480:2;5472:6;5468:15;5464:26;5461:35;5458:55;;;5509:1;5506;5499:12;5458:55;5522:77;5596:2;5589:4;5580:7;5576:18;5569:4;5561:6;5557:17;5522:77;:::i;5635:335::-;5714:6;5767:2;5755:9;5746:7;5742:23;5738:32;5735:52;;;5783:1;5780;5773:12;5735:52;5816:9;5810:16;5849:18;5841:6;5838:30;5835:50;;;5881:1;5878;5871:12;5835:50;5904:60;5956:7;5947:6;5936:9;5932:22;5904:60;:::i;5975:407::-;6058:5;6098;6092:12;6140:4;6133:5;6129:16;6123:23;6165:66;6257:2;6253;6249:11;6240:20;;6283:1;6275:6;6272:13;6269:107;;;6363:2;6357;6347:6;6344:1;6340:14;6337:1;6333:22;6329:31;6325:2;6321:40;6317:49;6308:58;;6269:107;;;;5975:407;;;:::o;6640:184::-;-1:-1:-1;;;6689:1:203;6682:88;6789:4;6786:1;6779:15;6813:4;6810:1;6803:15;7362:357;7480:12;;7527:4;7516:16;;;7510:23;;7480:12;7545:16;;7542:171;;;-1:-1:-1;;7625:6:203;7619:4;7615:17;7612:1;7608:25;7604:98;7597:5;7593:110;7584:119;;7542:171;;7362:357;;;:::o;7724:925::-;8173:66;8165:6;8161:79;8156:3;8149:92;8131:3;8260;8292:2;8288:1;8283:3;8279:11;8272:23;8324:6;8318:13;8340:74;8407:6;8403:1;8398:3;8394:11;8387:4;8379:6;8375:17;8340:74;:::i;:::-;8442:6;8437:3;8433:16;8423:26;;8477:2;8473:1;8469:2;8465:10;8458:22;8511:6;8505:13;8489:29;;8527:75;8593:8;8589:1;8585:2;8581:10;8574:4;8566:6;8562:17;8527:75;:::i;:::-;8622:17;8641:1;8618:25;;7724:925;-1:-1:-1;;;;;7724:925:203:o;8654:287::-;8783:3;8821:6;8815:13;8837:66;8896:6;8891:3;8884:4;8876:6;8872:17;8837:66;:::i;:::-;8919:16;;;;;8654:287;-1:-1:-1;;8654:287:203:o;8946:837::-;9206:4;9254:2;9243:9;9239:18;9284:6;9273:9;9266:25;9310:2;9348;9343;9332:9;9328:18;9321:30;9371:6;9406;9400:13;9437:6;9429;9422:22;9475:3;9464:9;9460:19;9453:26;;9514:2;9506:6;9502:15;9488:29;;9535:1;9545:169;9559:6;9556:1;9553:13;9545:169;;;9620:13;;9608:26;;9689:15;;;;9654:12;;;;9581:1;9574:9;9545:169;;;9549:3;;9731;9723:11;;;;;9770:6;9765:2;9754:9;9750:18;9743:34;8946:837;;;;;;:::o;9788:653::-;9928:6;9936;9944;9997:2;9985:9;9976:7;9972:23;9968:32;9965:52;;;10013:1;10010;10003:12;9965:52;10046:9;10040:16;10075:18;10116:2;10108:6;10105:14;10102:34;;;10132:1;10129;10122:12;10102:34;10155:60;10207:7;10198:6;10187:9;10183:22;10155:60;:::i;:::-;10145:70;;10255:2;10244:9;10240:18;10234:25;10224:35;;10305:2;10294:9;10290:18;10284:25;10268:41;;10334:2;10324:8;10321:16;10318:36;;;10350:1;10347;10340:12;10318:36;;10373:62;10427:7;10416:8;10405:9;10401:24;10373:62;:::i;:::-;10363:72;;;9788:653;;;;;:::o;10446:184::-;-1:-1:-1;;;10495:1:203;10488:88;10595:4;10592:1;10585:15;10619:4;10616:1;10609:15;10635:125;10700:9;;;10721:10;;;10718:36;;;10734:18;;:::i;10765:195::-;10804:3;-1:-1:-1;;10828:5:203;10825:77;10822:103;;10905:18;;:::i;:::-;-1:-1:-1;10952:1:203;10941:13;;10765:195::o;11225:530::-;11410:3;11448:6;11442:13;11464:66;11523:6;11518:3;11511:4;11503:6;11499:17;11464:66;:::i;:::-;11599:2;11595:15;;;;11612:66;11591:88;11552:16;;;;11577:103;;;11707:2;11696:14;;11689:30;;;;11746:2;11735:14;;11225:530;-1:-1:-1;;11225:530:203:o;11760:175::-;11797:3;11841:4;11834:5;11830:16;11870:4;11861:7;11858:17;11855:43;;11878:18;;:::i;:::-;11927:1;11914:15;;11760:175;-1:-1:-1;;11760:175:203:o;11940:128::-;12007:9;;;12028:11;;;12025:37;;;12042:18;;:::i;12073:168::-;12146:9;;;12177;;12194:15;;;12188:22;;12174:37;12164:71;;12215:18;;:::i;12246:639::-;12496:6;12491:3;12484:19;12466:3;12522:2;12555;12550:3;12546:12;12587:6;12581:13;12652:2;12644:6;12640:15;12673:1;12683:175;12697:6;12694:1;12691:13;12683:175;;;12760:13;;12746:28;;12796:14;;;;12833:15;;;;12719:1;12712:9;12683:175;;;-1:-1:-1;12874:5:203;;12246:639;-1:-1:-1;;;;;;;12246:639:203:o;12890:184::-;-1:-1:-1;;;12939:1:203;12932:88;13039:4;13036:1;13029:15;13063:4;13060:1;13053:15","linkReferences":{}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","call(bytes32,bytes)":"3ae7af08","callViaSelector(bytes)":"96f09da6","echo(string)":"f15da729","msgSender()":"d737d0c7","supportsInterface(bytes4)":"01ffc9a7","world()":"30b67baa"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callViaSelector\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"echo\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/SystemSwitch.t.sol\":\"EchoSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/gas-report/src/GasReporter.sol\":{\"keccak256\":\"0xf0b03a19a92cd2e9950c25b6d307e5aeca4a64be8932194431197d0570e9bf3b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef2a14f0fb6e5bcab0c70d3648d247c3919c63eabc8b226be4d1f359d8af860f\",\"dweb:/ipfs/QmXi1HgeUNmS9GwSFMDJa8QVT7KiENG9VjgBB78hpHrHV6\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4\",\"dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xe0bc789337c31551a3ad42fd63aba2489a3aa8567d9f3140b3abc9abdc0d2f1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d5313aaa217e563083d9e4ded9479d673b17ba71a189b6a0315839812a5c57a\",\"dweb:/ipfs/QmQJfHFMSPrS6p6q3rzKX6HDNCVsQQAWxGdd383FSfKChd\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x7335db1982f43f867f90c3e151e3cc6d6ad40ee76401e2e06b8fdff257d6526f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a49d381ef0a0defc90f41166bc7f45cf31e8d82d1517e6a323a90e79b4e45d1f\",\"dweb:/ipfs/QmP46aGM8cYPkn6C4rGnrumcg24g7aUzCAez41zPs2rqhx\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xbe6448092b2d0c77a7cb282e8a452732587a6e04802ad21f4da27a9d6ef1496a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d098409f9352637599b897d046ad23e20894ea3a8460687df2a13d2d960966d\",\"dweb:/ipfs/Qmd3w6dSq3kQVQQtH94wcKRzkaNEDWcE2m9bgbWWDqNE3w\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2\",\"dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0\",\"dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a\",\"dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc\",\"dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d\",\"dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x9c3ba4c889db2cc2155ddfc966f5df45cf73739cacc358e0ed71ee9d34d9cef9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bc8e8abc3d5ce2af06c3a9f37ebe69cb287514c4572327b09d26121133646e5\",\"dweb:/ipfs/QmY7BmHTiGAJabiLZXLx2zsRs9HfZzK97kwmnwfCidcHZ5\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac\",\"dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115\",\"dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1\",\"dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5\",\"dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0xf2ac4fe9b94aba49819b8bfd9952a73e21bd30aa956aa3a0ba4333d0e4891e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c41b0bb60c662aab1287d0ec92cdd7ce07e6a732ed8d5e6045e14c7ba49d4ce8\",\"dweb:/ipfs/QmYMHVsvJpDrpFW24uHmJFjA8tbr7WjyP4KAFnroApP7Br\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xd886462cb60be5929d17bed2740225effa8149ef6358378e9e1f385d58673be9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f66f49397097f9445159417fb61bd362de7849b1e572a3a9b5cb0536636a3d9\",\"dweb:/ipfs/QmPYEREcaUyoqykx4hjJG4k3P9HYmAM4gAxvGsJT6yWqvn\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3\",\"dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x08f813a47c9b17e647c4051b310fb7b04e2af87c5440f4c916e4e6b5bfb29710\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a7966452656a25e3555e39f10121a69690b0ecf23524c073f61f9ea31a922f3\",\"dweb:/ipfs/QmQiEsLYyZFBZbcAbzwSK2dKxpj7xbs7CPLt3py3uGZSSN\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x5a32d464b56d13b9cf93f15c366e1ba8c4e2242bbad3990829c7f674e49ac2f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf1460050534fbdf4b2615c9dee03aed9d84bc0198cb082b10e579ab01d568e\",\"dweb:/ipfs/Qma2zugjeP748bkmbYhqVrzrKcdn18KLH3TZMfVuhHq2M4\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x6f21b3b6e6c202a1f9a5ba3ce7a656d38b51e1f1755a7ba3d1bc4c083a94aa94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5499fa030ff8dee5db70851dc678a9f0eb7c2a548f27fd5a3ecd0b44038642a\",\"dweb:/ipfs/Qme3ZGKP1YYMt98rFJ8uRRZ2jgWaqNdKAS9HaEP4HYPrB6\"]},\"node_modules/@latticexyz/store/src/StoreData.sol\":{\"keccak256\":\"0x4e451128c33a01d520c1944b3db42a62c158aea8fa11e786a58a0f719a189526\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2f98f30a7b2c9ef020e274b87ae0fa66d1380343a00ecf6bd796ae31cd9b279\",\"dweb:/ipfs/QmYXHSBn4Hp7cimDLKy86ep23v2VRUS6dLPevcVMs3dJrw\"]},\"node_modules/@latticexyz/store/src/StoreRead.sol\":{\"keccak256\":\"0xd918972009bd009dbad7032b8ff076928cec18c0891bb12493a1799df83e9cfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://966bb2090623b9a6aae0e5df9ae4c9c21bbde97867a239303c934c765eebf738\",\"dweb:/ipfs/QmRui6vJ8UfNHAueDyRuSXfW7wwuxRxAHgGjB7wVJEB6cJ\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7\",\"dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6\",\"dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x6ba24d7c79f616a40a5a28466a113c3b491196ed43a236124ae9f52f940ebae6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c055a11a1a52d820e5f71c1434b94b2083304d94655d7dbcefb7c7b4e42a095f\",\"dweb:/ipfs/QmUU119ZHn9S3ExK8ZhNyHbdxWMu3RasLDZco9vR9KDQJw\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x0d5cb177f2e3f968b5d8962727ee95f6ec12f2f02635bd3388e8ba658a513782\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c1f989b97f782ba8a7b7aa85c79564a4eeca21e8c0c255d287d5a2fb42700e9\",\"dweb:/ipfs/QmXVeQ9p6b8GRMYE8QWPR89xRsMWRQsxPMgQHsUvMWbLeb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x92e5306a8572903c6ed2ede4713de8356221511aaa9043a115010d8dc504d95d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c36a58e47472e86c8b995c33eef1be95c7073d30e8e4b59b4c65413cbe34f695\",\"dweb:/ipfs/QmaHP8apm4XnMSQkMT4Wysu8LxVSnH5JcPne5PV8YPyJNv\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xc1ce9530a25c9e1ebc6a4d1789f26b9607f09b38132a64ced9cfcf34e3011e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d67414de99946c6c199fce2700a2765e279d4fa9c0ff665035193883221979ee\",\"dweb:/ipfs/QmViGZuPahjSGa18UtAjSXbAao9wuMK4m6hxjtX6pDqqU7\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793\",\"dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC\"]},\"node_modules/@latticexyz/store/src/leftMask.sol\":{\"keccak256\":\"0xe050786c52cfb1da012bba86744d2a89f8aa6507342e498c96fbe013b0d6302f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a62d2f8eb85ddc6de911a0b415bbcf666001ecfd15e681f718cb9ae053a3a793\",\"dweb:/ipfs/QmXZHfKXZNQRJMqLpS15kgZgMfMUkoB8FhypDWDaYaqtJG\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81\",\"dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1\",\"dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49\",\"dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0xca2e2218bccd60ed690f29152b234a553f3021cad4903c0cfb5cf757fa41d650\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65f3bf5b851072ba1367ec74b3c66cab6185f3c8c8d6ada007cdc8c513465d25\",\"dweb:/ipfs/QmdHsBNc7ccvTK7VDB9yAktdbRNBrEsUdBNFZTqdq8Vao2\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491\",\"dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0x963a4fc3983bf92a473e67f49b62b8f52d94360bb904664b24bbff844e6a4a41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cf0ea9f68a1a9738b116259dc2cb06e98cc591d82b2c271b0e70e8daa742952\",\"dweb:/ipfs/QmRVxuBtGgw49v3KGm3HTBNS5ZJ9wEvENwipJEFEtoiaZ4\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x09324c2d43eac847a312e1879de1019d1b6eb333d9c9e0d42c449d76f5d9fc89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd6f751c31f1305ffb328b1cd4bcc3999439f63f2b8ad9a33bbebdccdf60e716\",\"dweb:/ipfs/QmRfj5xWwC3wzFr9iAQBr1pAQmLYPJhDRXyRcJpYfhDdoE\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1\",\"dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d\",\"dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x9ace961d4e283e0974762fddb14bb15e256d1d1086c813957fa0a0c9abeca900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3ce3e6875d5ae61e12f3a36b8cdd2aa42e137f4d356109f89101fc7ea2d38f35\",\"dweb:/ipfs/QmbCarvuyKZhaEKebPnzwxCrXPGZvZB5AnJxfXgCgex9py\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x96b32546011ad67c3d03815dfd9375e9f8a255f98aaf89880afa1c8548d372b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58294560e554b8d8c6e3e870768523aa034631d4908ce25e730bb372ce7795c\",\"dweb:/ipfs/QmU9KfaZRNmQdoZE5bNrMN6QJCm7HGfsCBPvBGbMLLq9E5\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xc7da95c29b6dc76d21ea866139e4cefeceeec094326811a4e5afafe494d6a881\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3048f85d42046b460ff285e38091a18ff848a489670e278b233669baecc2d6ef\",\"dweb:/ipfs/QmPbeYVnPefPmtpaXXAGAjEGXjducZf9sF8fKqgfENCpwj\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83\",\"dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c\",\"dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0xd0060c58956a1fe0855bcd9099e8764922f0d3b96f9683bd9622b8da05524f19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6098c318c6b2606aa0a31554c6dd5923b6c106c24daa2f1119311cd4f4e47bce\",\"dweb:/ipfs/QmZTSSpfmNWakCYvFFZhd7zjmnkNPuSeYKhfCQwZ2gjRWL\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd\",\"dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x2ec34d896ea59d4bd47b99c1c1476c9c8f94f21d8af5f35ceebfeced4dd48ec2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://97dc97678b209c5e69d8b45adb3fe8c8d8b8fffbd725a8deb462c790a6a58a01\",\"dweb:/ipfs/QmbUntQJj9n55PDjXcdJtmsWSPdWzyhbe6UCK9iHJuq3XM\"]},\"node_modules/@latticexyz/world/src/World.sol\":{\"keccak256\":\"0x2fa1e13f367a2110bce824ed5fc8b3d74cf60b0075492a7831dc887fc47de54b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7afd2c5fddf3d635a25a03aeb34991036ec8a9a59f44ea323f8c1f3f17bbf14\",\"dweb:/ipfs/QmbYiNvJmD8mCjeAY83Jebb54dTcgYd4Knr9jbKnMcDwf6\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518\",\"dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0x7daa706e844ddc2ffa9ff2197139fa73faee614030c5d541e339c219129005ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62da4413068810e6fa32ef87b2a83386a0084ec2bb26722515127e5893281cbc\",\"dweb:/ipfs/Qma5SLsHRq3igdXfKz24XSGfMd3dXyNxv52WSTsrcLRWPV\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255\",\"dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5\",\"dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf103db760a912d42dac0c409feb2d1929864ae81f89a7186047ea6f98b9db2ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ee556bbf7f7aa2f221e1f5a9d80caca8d4e5bc9282f59d5611a7c9ea7c06024\",\"dweb:/ipfs/QmQouopBhk5VuzdUSVc9MC3C5nhbm1MgHmQhemf6w66WxE\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8\",\"dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreRegistrationSystem.sol\":{\"keccak256\":\"0xb5e41596b245dbb0f4317174ae08c963a55df07cfd1a2e65bd082628bc446350\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://007f0e50c7f40d3932c5db51f729148f7d67573ef2f429043d901c7b017d7f43\",\"dweb:/ipfs/QmdmnY9RFyGjhmjSif3wZYHSMhtkTNhxi74dzVzsQBgi2N\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0\",\"dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad\",\"dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x2fd9727c04a06dacd957c320e5c91844e389df164a02f6c35e169852d974a1f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfab99486f9011db6590d75947a8510540bc5d6160866cfd1fafe16daa024961\",\"dweb:/ipfs/QmPAyaKJwhawWcyegfHv1QkJYzdAMpySok2gDKVPpw1rvD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x8bcbbd417bc83b92c1d40444cf2e617d8a5c7e4d7486dcc3467fef2470338bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aedd3d896ccc900aa9a4f53ec7a9245e5630f51e847a0e2356e12e4492084a8e\",\"dweb:/ipfs/QmRQJwy5XYHGXT973hYdPUR6cG8fSDPi8kPgprYJXUfuVf\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0xed3112d1dfeb8afa9be21cc3bf70f7af31b0443e9579f080e7ac2640664b8426\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://571277bf66022fb97fb43948379b560c6d6904dc0272f91b30d3ab16a5b76c91\",\"dweb:/ipfs/QmNhb9rrrW8KXzLfg3eiUR86hnRhaD2kzN5mAcWuWQ4pu5\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x334f30cf5cac3f795cd63f15582a6a50c91c91644000a1a5c3005a4c17b075ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79369df71ea24d4eb6579f9edc5ac3f8c8d4fe2563db7438c957f7cd8fd696d4\",\"dweb:/ipfs/QmZBQv6xBpXWocxy4nX5o8XJYuvi88y69YmHJYUGgGFRN9\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x760eec42bbfbdb497a80fa704956c82bca38d21ee220a1671ac7fc1364ddc0ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://313982b1791750271b460fa94c3ea54eeb2d88b3093ab2cace6014a6c9ee387b\",\"dweb:/ipfs/QmVagcNagZkFZeVieECp53rjZEYBB6LU8HP4BjKzfiC4Qr\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xb59422d88ec4d7ea5870bfbcd26cce216808aca2524d78be044e6246c2e0c8cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://690489521124436a18dd3b2efc1c28636488414b82c6dabf743bde1c8f9ab70b\",\"dweb:/ipfs/Qma89LxYq3aBdNZnsiH2qKuq47gmSn9QpeoFe23pahus5Z\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xa6dd49d8d3bc8ce68d45ebc01f087ef83b1d758e9967322fd15cf641331c2527\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a80f0382a7bad47b1b947bc9b447eafb35599b0e11a9bdcb45c7cddb3bc1375a\",\"dweb:/ipfs/QmRBWAsqUya6uxXn5fqJPgnkytDfp8HXixcymwTmYKuoPc\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x43cb675401e3e464a93ae0ddaefdb6ac03b734b7226ba89b8727d6421e50e2e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a37a9d6881779113b1b78b0e9175b64089da881be1176fc764ceaee9fc65436\",\"dweb:/ipfs/QmXgCyyJUAAn99Czgv51nkr6qi9hFduhJpybkn95ipJHJL\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0xd0128bfb43b2afdc0c0410b6a642ce7b5ae4e5c90c367e542ea0b3e8d02eba22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59fd7075792470f625e15e7c7a5d377b6657b26ce22a82c705888c2773840330\",\"dweb:/ipfs/QmdPygA9VW1Zdds4FTejEDSEKzaPWDFvXP1VqsaJB6KF8q\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x20ad3ee26ef118cb8b055803c4a5ef2aac4791ce9e8720fc6a549120c53ab37a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58c1a2e3abb381a36696aeb3588a2604706e88b8505caddbdb696f96249e6231\",\"dweb:/ipfs/QmQvPVUFGBRpbaK9et2L7rVVmCByD1gDhaFvtJNL7cM7d2\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0xa9a5ebaa93ce6fe8b1f2cef5fd1350ea755d2ab0ff7ae2a5c369e493c2d205d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ba46cddd36f4a69e120e11edb0cbb8cd8d8363636544fe21e9712e41786f231\",\"dweb:/ipfs/Qmc87CiTYDULyEwTZmbfHcrqx2gNRrkSakYdS6wRXi7LQN\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218\",\"dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc\"]},\"node_modules/@latticexyz/world/src/modules/core/CoreModule.sol\":{\"keccak256\":\"0x1854f68cb404adb13910c7cb5dc91b4db83b33705a92717485df16742acfac43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1119dea8f6a76977e6327b789fae9023eedd63df9a50b6a7b4c6190f02de10a9\",\"dweb:/ipfs/QmXJ6YthgxX5ybpCgcECBHC2uPnycnC7mzh3KTbF9vZWDz\"]},\"node_modules/@latticexyz/world/src/modules/core/CoreRegistrationSystem.sol\":{\"keccak256\":\"0x4969fab8e65df062b3ee1d5c55c5dc980b4c8d531a90977e5f318500eafe2125\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94ca575dec2084e8ec0558c6866af383fea4f5111079f06db8c78b1a7dc78417\",\"dweb:/ipfs/QmZCHfyhMQ4Z4sJvW9uzYhuTNTThoRwH8Usqx6q95AbNSb\"]},\"node_modules/@latticexyz/world/src/modules/core/constants.sol\":{\"keccak256\":\"0xbe6408440b758884cfff869ae6c8aefa476ab97b07855dd51571bb358e9ecae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://854427618d6d700c2dbba45cc475bd341b14612d4dc05af687371dc725e0a11e\",\"dweb:/ipfs/QmXueKPv6WDyAwjwej5XHnBTMQeUYEbtgNryqt4Tnsj3sK\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/AccessManagementSystem.sol\":{\"keccak256\":\"0x29cd0f1a2ec749bc25774682977cad4dd238602a3b4e926cc08bb7781fabf2bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d1f0b23e9ed303b543e943abcb5641d0744e2c1ae003df6dea877a070f96e0\",\"dweb:/ipfs/QmfQj5P8Lw6DfMfVnhsAaDCtN6iYfKp8V4uxX5LQQnzxLo\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/BalanceTransferSystem.sol\":{\"keccak256\":\"0x8170eb46e9716b8040b9a95d8740e1e897538afb1da95a1994cba7907522b4fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b19dbd9f3ca1f541883879985589095f851bdd201d9cdde2d6742dda9ad01a2e\",\"dweb:/ipfs/QmTgSMvsVFAEMK72D7myoJtEykDxAMweueJNEagSChyA1Y\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/BatchCallSystem.sol\":{\"keccak256\":\"0xf24b9cc96cccb8ef98c9aa8585e4a5c003b3b8a00c5a9c6db5c750460960a7d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa918bcba66835a0866a11c5b43b5da11d68fb68c697f89a273d5dd3a5f1f5c\",\"dweb:/ipfs/QmZyyVdNoUiyLMimmNkZkQv5o86k4sGyo1CGEMrt794eC2\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/ModuleInstallationSystem.sol\":{\"keccak256\":\"0xc9b0efce92d9be51ff564fa18efc13365a64cde8dd2e2ef88bac4abe7d432a3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86d2a49cc96ad7e783490c6e44aa2d078444505edc49d1061711200a607441a6\",\"dweb:/ipfs/QmbKkJnRkUE47uWwmhqqmaVozRXLt45ebSZbZnpJpnJfvj\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/StoreRegistrationSystem.sol\":{\"keccak256\":\"0xf7edf07894b8c6938b77491d36944d22b37b9e9e8105a689120f66e76450d3dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55be67cb294109fbb9a323c5f788aa7d1b844f7bc57f5bed6b758d2d80447a24\",\"dweb:/ipfs/QmUv8FwmcV6mP2o7aZiZkRxrnQdnaRLYiFWs8ifaEadKJr\"]},\"node_modules/@latticexyz/world/src/modules/core/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xbae6190d740add0ee986f82b1143f8f160d232e0f3c2eb4d7908040f07b45427\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://022b092b8757770e5799d22de9b09b774f6ecae9820e91847f794785fbdf7198\",\"dweb:/ipfs/QmaSUvvjFYZT2NmNUQJer7L9qAz4P1KJVQ8Z2Giro9Cpxm\"]},\"node_modules/@latticexyz/world/src/modules/core/types.sol\":{\"keccak256\":\"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3\",\"dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x229777eeaac1099104e10832f59bc02f3494a5b6de8225810a3b175643d97039\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bf7e4df65be1808418d8dbb1decb346ec2a3b7a11b895818ae90f319522f795\",\"dweb:/ipfs/Qmco2UnqR9oop9ppY2Zbv1LWCQKGM99A7j6iWGsMCrwSmy\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xdd201aa30700e70c35c1d4e50c375e511d798961183c8531f947c2d15969debb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9c165b1beb7c1d3f75107407c34a5b3424ec8cb322d494892bceed23323ffb9\",\"dweb:/ipfs/QmdH8rtgJaENsMc6HodAbahKg7PiZUJwoZufnHCw3TwrBx\"]},\"node_modules/@latticexyz/world/src/version.sol\":{\"keccak256\":\"0x5db84611779a814a582b5559f636640e3599dba1f36b99c529a19ce73b2d2d44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b06ae2f3b888ba3dc719b2d19f60deb7c3398324f636c9dad0b92706dfc08f5a\",\"dweb:/ipfs/QmaLgppohesJhF3ZdMWwM8NHcLiv8SRSCArS4QssfG2dC1\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xc7e0aa6e4746b2d0e2eace7e462adf2f03dbc7f0c880794a577bfdbce426fcc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7538caf090fc69fff272049cfc00d0f35ae63ee700c2091b9cc4ed5709a3b45\",\"dweb:/ipfs/QmYriK2VpsVAePPLTP6mDZkTYMT9AkgmC2C93ktjVMDaP4\"]},\"node_modules/@latticexyz/world/test/createCoreModule.sol\":{\"keccak256\":\"0xb0baab0e9c67c1b945a95291aed4e16cf73ed7b95bc671076fd1a7d960e043d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b603f7c656fed7e592cd598ca94ac46fab6ed31a6d951cf4661bc7f3f24166f2\",\"dweb:/ipfs/QmeNDUPYh3yuUj6oQ19VgKYruY1kDWenNhywzWYXeuxy39\"]},\"node_modules/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"node_modules/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"node_modules/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"node_modules/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"node_modules/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"node_modules/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"node_modules/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"node_modules/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"node_modules/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"node_modules/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"node_modules/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"node_modules/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"node_modules/forge-std/src/Test.sol\":{\"keccak256\":\"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb\",\"dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"node_modules/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"node_modules/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x8242e32af7f919eebac06852a64d354f8d24ee777079244d430852f22d47230e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d32745bde5e8e24e0c293545b1047a580a77602f01b8695c2236192187bdc1da\",\"dweb:/ipfs/QmeX59sxxU6SoM9o1KbCDxuR4DmHB3nyx1Kee4nLgfq6UH\"]},\"test/SystemSwitch.t.sol\":{\"keccak256\":\"0x4b94a3137e904e582c3af482afe01316d34b67d57bdd31b65c7174364a530c7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9276851302c3115c7016e495cc2557c1c1a8d9dc2fa17d9d5cf5d49d776742dd\",\"dweb:/ipfs/Qmf72JqyVeSe6RG13ZbAaq5m6zPz4N5viECBftKNcFcV41\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"callViaSelector","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"message","type":"string"}],"stateMutability":"view","type":"function","name":"echo","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"msgSender","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"world","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"test/SystemSwitch.t.sol":"EchoSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/gas-report/src/GasReporter.sol":{"keccak256":"0xf0b03a19a92cd2e9950c25b6d307e5aeca4a64be8932194431197d0570e9bf3b","urls":["bzz-raw://ef2a14f0fb6e5bcab0c70d3648d247c3919c63eabc8b226be4d1f359d8af860f","dweb:/ipfs/QmXi1HgeUNmS9GwSFMDJa8QVT7KiENG9VjgBB78hpHrHV6"],"license":"MIT"},"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb","urls":["bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4","dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0xe0bc789337c31551a3ad42fd63aba2489a3aa8567d9f3140b3abc9abdc0d2f1b","urls":["bzz-raw://6d5313aaa217e563083d9e4ded9479d673b17ba71a189b6a0315839812a5c57a","dweb:/ipfs/QmQJfHFMSPrS6p6q3rzKX6HDNCVsQQAWxGdd383FSfKChd"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x7335db1982f43f867f90c3e151e3cc6d6ad40ee76401e2e06b8fdff257d6526f","urls":["bzz-raw://a49d381ef0a0defc90f41166bc7f45cf31e8d82d1517e6a323a90e79b4e45d1f","dweb:/ipfs/QmP46aGM8cYPkn6C4rGnrumcg24g7aUzCAez41zPs2rqhx"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xbe6448092b2d0c77a7cb282e8a452732587a6e04802ad21f4da27a9d6ef1496a","urls":["bzz-raw://1d098409f9352637599b897d046ad23e20894ea3a8460687df2a13d2d960966d","dweb:/ipfs/Qmd3w6dSq3kQVQQtH94wcKRzkaNEDWcE2m9bgbWWDqNE3w"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf","urls":["bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2","dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827","urls":["bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0","dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5","urls":["bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a","dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212","urls":["bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc","dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f","urls":["bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d","dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x9c3ba4c889db2cc2155ddfc966f5df45cf73739cacc358e0ed71ee9d34d9cef9","urls":["bzz-raw://0bc8e8abc3d5ce2af06c3a9f37ebe69cb287514c4572327b09d26121133646e5","dweb:/ipfs/QmY7BmHTiGAJabiLZXLx2zsRs9HfZzK97kwmnwfCidcHZ5"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37","urls":["bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac","dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f","urls":["bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115","dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b","urls":["bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1","dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7","urls":["bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5","dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0xf2ac4fe9b94aba49819b8bfd9952a73e21bd30aa956aa3a0ba4333d0e4891e91","urls":["bzz-raw://c41b0bb60c662aab1287d0ec92cdd7ce07e6a732ed8d5e6045e14c7ba49d4ce8","dweb:/ipfs/QmYMHVsvJpDrpFW24uHmJFjA8tbr7WjyP4KAFnroApP7Br"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xd886462cb60be5929d17bed2740225effa8149ef6358378e9e1f385d58673be9","urls":["bzz-raw://6f66f49397097f9445159417fb61bd362de7849b1e572a3a9b5cb0536636a3d9","dweb:/ipfs/QmPYEREcaUyoqykx4hjJG4k3P9HYmAM4gAxvGsJT6yWqvn"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401","urls":["bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3","dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x08f813a47c9b17e647c4051b310fb7b04e2af87c5440f4c916e4e6b5bfb29710","urls":["bzz-raw://0a7966452656a25e3555e39f10121a69690b0ecf23524c073f61f9ea31a922f3","dweb:/ipfs/QmQiEsLYyZFBZbcAbzwSK2dKxpj7xbs7CPLt3py3uGZSSN"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x5a32d464b56d13b9cf93f15c366e1ba8c4e2242bbad3990829c7f674e49ac2f7","urls":["bzz-raw://adf1460050534fbdf4b2615c9dee03aed9d84bc0198cb082b10e579ab01d568e","dweb:/ipfs/Qma2zugjeP748bkmbYhqVrzrKcdn18KLH3TZMfVuhHq2M4"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x6f21b3b6e6c202a1f9a5ba3ce7a656d38b51e1f1755a7ba3d1bc4c083a94aa94","urls":["bzz-raw://e5499fa030ff8dee5db70851dc678a9f0eb7c2a548f27fd5a3ecd0b44038642a","dweb:/ipfs/Qme3ZGKP1YYMt98rFJ8uRRZ2jgWaqNdKAS9HaEP4HYPrB6"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreData.sol":{"keccak256":"0x4e451128c33a01d520c1944b3db42a62c158aea8fa11e786a58a0f719a189526","urls":["bzz-raw://c2f98f30a7b2c9ef020e274b87ae0fa66d1380343a00ecf6bd796ae31cd9b279","dweb:/ipfs/QmYXHSBn4Hp7cimDLKy86ep23v2VRUS6dLPevcVMs3dJrw"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreRead.sol":{"keccak256":"0xd918972009bd009dbad7032b8ff076928cec18c0891bb12493a1799df83e9cfa","urls":["bzz-raw://966bb2090623b9a6aae0e5df9ae4c9c21bbde97867a239303c934c765eebf738","dweb:/ipfs/QmRui6vJ8UfNHAueDyRuSXfW7wwuxRxAHgGjB7wVJEB6cJ"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416","urls":["bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7","dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3","urls":["bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6","dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x6ba24d7c79f616a40a5a28466a113c3b491196ed43a236124ae9f52f940ebae6","urls":["bzz-raw://c055a11a1a52d820e5f71c1434b94b2083304d94655d7dbcefb7c7b4e42a095f","dweb:/ipfs/QmUU119ZHn9S3ExK8ZhNyHbdxWMu3RasLDZco9vR9KDQJw"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x0d5cb177f2e3f968b5d8962727ee95f6ec12f2f02635bd3388e8ba658a513782","urls":["bzz-raw://6c1f989b97f782ba8a7b7aa85c79564a4eeca21e8c0c255d287d5a2fb42700e9","dweb:/ipfs/QmXVeQ9p6b8GRMYE8QWPR89xRsMWRQsxPMgQHsUvMWbLeb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x92e5306a8572903c6ed2ede4713de8356221511aaa9043a115010d8dc504d95d","urls":["bzz-raw://c36a58e47472e86c8b995c33eef1be95c7073d30e8e4b59b4c65413cbe34f695","dweb:/ipfs/QmaHP8apm4XnMSQkMT4Wysu8LxVSnH5JcPne5PV8YPyJNv"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xc1ce9530a25c9e1ebc6a4d1789f26b9607f09b38132a64ced9cfcf34e3011e91","urls":["bzz-raw://d67414de99946c6c199fce2700a2765e279d4fa9c0ff665035193883221979ee","dweb:/ipfs/QmViGZuPahjSGa18UtAjSXbAao9wuMK4m6hxjtX6pDqqU7"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076","urls":["bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793","dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC"],"license":"MIT"},"node_modules/@latticexyz/store/src/leftMask.sol":{"keccak256":"0xe050786c52cfb1da012bba86744d2a89f8aa6507342e498c96fbe013b0d6302f","urls":["bzz-raw://a62d2f8eb85ddc6de911a0b415bbcf666001ecfd15e681f718cb9ae053a3a793","dweb:/ipfs/QmXZHfKXZNQRJMqLpS15kgZgMfMUkoB8FhypDWDaYaqtJG"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5","urls":["bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81","dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2","urls":["bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84","dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04","urls":["bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1","dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d","urls":["bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49","dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0xca2e2218bccd60ed690f29152b234a553f3021cad4903c0cfb5cf757fa41d650","urls":["bzz-raw://65f3bf5b851072ba1367ec74b3c66cab6185f3c8c8d6ada007cdc8c513465d25","dweb:/ipfs/QmdHsBNc7ccvTK7VDB9yAktdbRNBrEsUdBNFZTqdq8Vao2"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c","urls":["bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491","dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0x963a4fc3983bf92a473e67f49b62b8f52d94360bb904664b24bbff844e6a4a41","urls":["bzz-raw://2cf0ea9f68a1a9738b116259dc2cb06e98cc591d82b2c271b0e70e8daa742952","dweb:/ipfs/QmRVxuBtGgw49v3KGm3HTBNS5ZJ9wEvENwipJEFEtoiaZ4"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x09324c2d43eac847a312e1879de1019d1b6eb333d9c9e0d42c449d76f5d9fc89","urls":["bzz-raw://bd6f751c31f1305ffb328b1cd4bcc3999439f63f2b8ad9a33bbebdccdf60e716","dweb:/ipfs/QmRfj5xWwC3wzFr9iAQBr1pAQmLYPJhDRXyRcJpYfhDdoE"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270","urls":["bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1","dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553","urls":["bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d","dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47","urls":["bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5","dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x9ace961d4e283e0974762fddb14bb15e256d1d1086c813957fa0a0c9abeca900","urls":["bzz-raw://3ce3e6875d5ae61e12f3a36b8cdd2aa42e137f4d356109f89101fc7ea2d38f35","dweb:/ipfs/QmbCarvuyKZhaEKebPnzwxCrXPGZvZB5AnJxfXgCgex9py"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x96b32546011ad67c3d03815dfd9375e9f8a255f98aaf89880afa1c8548d372b9","urls":["bzz-raw://c58294560e554b8d8c6e3e870768523aa034631d4908ce25e730bb372ce7795c","dweb:/ipfs/QmU9KfaZRNmQdoZE5bNrMN6QJCm7HGfsCBPvBGbMLLq9E5"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xc7da95c29b6dc76d21ea866139e4cefeceeec094326811a4e5afafe494d6a881","urls":["bzz-raw://3048f85d42046b460ff285e38091a18ff848a489670e278b233669baecc2d6ef","dweb:/ipfs/QmPbeYVnPefPmtpaXXAGAjEGXjducZf9sF8fKqgfENCpwj"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7","urls":["bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83","dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb","urls":["bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c","dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0xd0060c58956a1fe0855bcd9099e8764922f0d3b96f9683bd9622b8da05524f19","urls":["bzz-raw://6098c318c6b2606aa0a31554c6dd5923b6c106c24daa2f1119311cd4f4e47bce","dweb:/ipfs/QmZTSSpfmNWakCYvFFZhd7zjmnkNPuSeYKhfCQwZ2gjRWL"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd","urls":["bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd","dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x2ec34d896ea59d4bd47b99c1c1476c9c8f94f21d8af5f35ceebfeced4dd48ec2","urls":["bzz-raw://97dc97678b209c5e69d8b45adb3fe8c8d8b8fffbd725a8deb462c790a6a58a01","dweb:/ipfs/QmbUntQJj9n55PDjXcdJtmsWSPdWzyhbe6UCK9iHJuq3XM"],"license":"MIT"},"node_modules/@latticexyz/world/src/World.sol":{"keccak256":"0x2fa1e13f367a2110bce824ed5fc8b3d74cf60b0075492a7831dc887fc47de54b","urls":["bzz-raw://a7afd2c5fddf3d635a25a03aeb34991036ec8a9a59f44ea323f8c1f3f17bbf14","dweb:/ipfs/QmbYiNvJmD8mCjeAY83Jebb54dTcgYd4Knr9jbKnMcDwf6"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a","urls":["bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518","dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0x7daa706e844ddc2ffa9ff2197139fa73faee614030c5d541e339c219129005ff","urls":["bzz-raw://62da4413068810e6fa32ef87b2a83386a0084ec2bb26722515127e5893281cbc","dweb:/ipfs/Qma5SLsHRq3igdXfKz24XSGfMd3dXyNxv52WSTsrcLRWPV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593","urls":["bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255","dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55","urls":["bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5","dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf103db760a912d42dac0c409feb2d1929864ae81f89a7186047ea6f98b9db2ed","urls":["bzz-raw://9ee556bbf7f7aa2f221e1f5a9d80caca8d4e5bc9282f59d5611a7c9ea7c06024","dweb:/ipfs/QmQouopBhk5VuzdUSVc9MC3C5nhbm1MgHmQhemf6w66WxE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97","urls":["bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8","dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreRegistrationSystem.sol":{"keccak256":"0xb5e41596b245dbb0f4317174ae08c963a55df07cfd1a2e65bd082628bc446350","urls":["bzz-raw://007f0e50c7f40d3932c5db51f729148f7d67573ef2f429043d901c7b017d7f43","dweb:/ipfs/QmdmnY9RFyGjhmjSif3wZYHSMhtkTNhxi74dzVzsQBgi2N"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263","urls":["bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0","dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62","urls":["bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad","dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x2fd9727c04a06dacd957c320e5c91844e389df164a02f6c35e169852d974a1f8","urls":["bzz-raw://cfab99486f9011db6590d75947a8510540bc5d6160866cfd1fafe16daa024961","dweb:/ipfs/QmPAyaKJwhawWcyegfHv1QkJYzdAMpySok2gDKVPpw1rvD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x8bcbbd417bc83b92c1d40444cf2e617d8a5c7e4d7486dcc3467fef2470338bcb","urls":["bzz-raw://aedd3d896ccc900aa9a4f53ec7a9245e5630f51e847a0e2356e12e4492084a8e","dweb:/ipfs/QmRQJwy5XYHGXT973hYdPUR6cG8fSDPi8kPgprYJXUfuVf"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0xed3112d1dfeb8afa9be21cc3bf70f7af31b0443e9579f080e7ac2640664b8426","urls":["bzz-raw://571277bf66022fb97fb43948379b560c6d6904dc0272f91b30d3ab16a5b76c91","dweb:/ipfs/QmNhb9rrrW8KXzLfg3eiUR86hnRhaD2kzN5mAcWuWQ4pu5"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x334f30cf5cac3f795cd63f15582a6a50c91c91644000a1a5c3005a4c17b075ac","urls":["bzz-raw://79369df71ea24d4eb6579f9edc5ac3f8c8d4fe2563db7438c957f7cd8fd696d4","dweb:/ipfs/QmZBQv6xBpXWocxy4nX5o8XJYuvi88y69YmHJYUGgGFRN9"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x760eec42bbfbdb497a80fa704956c82bca38d21ee220a1671ac7fc1364ddc0ed","urls":["bzz-raw://313982b1791750271b460fa94c3ea54eeb2d88b3093ab2cace6014a6c9ee387b","dweb:/ipfs/QmVagcNagZkFZeVieECp53rjZEYBB6LU8HP4BjKzfiC4Qr"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xb59422d88ec4d7ea5870bfbcd26cce216808aca2524d78be044e6246c2e0c8cd","urls":["bzz-raw://690489521124436a18dd3b2efc1c28636488414b82c6dabf743bde1c8f9ab70b","dweb:/ipfs/Qma89LxYq3aBdNZnsiH2qKuq47gmSn9QpeoFe23pahus5Z"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xa6dd49d8d3bc8ce68d45ebc01f087ef83b1d758e9967322fd15cf641331c2527","urls":["bzz-raw://a80f0382a7bad47b1b947bc9b447eafb35599b0e11a9bdcb45c7cddb3bc1375a","dweb:/ipfs/QmRBWAsqUya6uxXn5fqJPgnkytDfp8HXixcymwTmYKuoPc"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x43cb675401e3e464a93ae0ddaefdb6ac03b734b7226ba89b8727d6421e50e2e8","urls":["bzz-raw://6a37a9d6881779113b1b78b0e9175b64089da881be1176fc764ceaee9fc65436","dweb:/ipfs/QmXgCyyJUAAn99Czgv51nkr6qi9hFduhJpybkn95ipJHJL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0xd0128bfb43b2afdc0c0410b6a642ce7b5ae4e5c90c367e542ea0b3e8d02eba22","urls":["bzz-raw://59fd7075792470f625e15e7c7a5d377b6657b26ce22a82c705888c2773840330","dweb:/ipfs/QmdPygA9VW1Zdds4FTejEDSEKzaPWDFvXP1VqsaJB6KF8q"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x20ad3ee26ef118cb8b055803c4a5ef2aac4791ce9e8720fc6a549120c53ab37a","urls":["bzz-raw://58c1a2e3abb381a36696aeb3588a2604706e88b8505caddbdb696f96249e6231","dweb:/ipfs/QmQvPVUFGBRpbaK9et2L7rVVmCByD1gDhaFvtJNL7cM7d2"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0xa9a5ebaa93ce6fe8b1f2cef5fd1350ea755d2ab0ff7ae2a5c369e493c2d205d5","urls":["bzz-raw://5ba46cddd36f4a69e120e11edb0cbb8cd8d8363636544fe21e9712e41786f231","dweb:/ipfs/Qmc87CiTYDULyEwTZmbfHcrqx2gNRrkSakYdS6wRXi7LQN"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588","urls":["bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218","dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/CoreModule.sol":{"keccak256":"0x1854f68cb404adb13910c7cb5dc91b4db83b33705a92717485df16742acfac43","urls":["bzz-raw://1119dea8f6a76977e6327b789fae9023eedd63df9a50b6a7b4c6190f02de10a9","dweb:/ipfs/QmXJ6YthgxX5ybpCgcECBHC2uPnycnC7mzh3KTbF9vZWDz"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/CoreRegistrationSystem.sol":{"keccak256":"0x4969fab8e65df062b3ee1d5c55c5dc980b4c8d531a90977e5f318500eafe2125","urls":["bzz-raw://94ca575dec2084e8ec0558c6866af383fea4f5111079f06db8c78b1a7dc78417","dweb:/ipfs/QmZCHfyhMQ4Z4sJvW9uzYhuTNTThoRwH8Usqx6q95AbNSb"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/constants.sol":{"keccak256":"0xbe6408440b758884cfff869ae6c8aefa476ab97b07855dd51571bb358e9ecae0","urls":["bzz-raw://854427618d6d700c2dbba45cc475bd341b14612d4dc05af687371dc725e0a11e","dweb:/ipfs/QmXueKPv6WDyAwjwej5XHnBTMQeUYEbtgNryqt4Tnsj3sK"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/AccessManagementSystem.sol":{"keccak256":"0x29cd0f1a2ec749bc25774682977cad4dd238602a3b4e926cc08bb7781fabf2bc","urls":["bzz-raw://98d1f0b23e9ed303b543e943abcb5641d0744e2c1ae003df6dea877a070f96e0","dweb:/ipfs/QmfQj5P8Lw6DfMfVnhsAaDCtN6iYfKp8V4uxX5LQQnzxLo"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/BalanceTransferSystem.sol":{"keccak256":"0x8170eb46e9716b8040b9a95d8740e1e897538afb1da95a1994cba7907522b4fc","urls":["bzz-raw://b19dbd9f3ca1f541883879985589095f851bdd201d9cdde2d6742dda9ad01a2e","dweb:/ipfs/QmTgSMvsVFAEMK72D7myoJtEykDxAMweueJNEagSChyA1Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/BatchCallSystem.sol":{"keccak256":"0xf24b9cc96cccb8ef98c9aa8585e4a5c003b3b8a00c5a9c6db5c750460960a7d1","urls":["bzz-raw://afa918bcba66835a0866a11c5b43b5da11d68fb68c697f89a273d5dd3a5f1f5c","dweb:/ipfs/QmZyyVdNoUiyLMimmNkZkQv5o86k4sGyo1CGEMrt794eC2"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/ModuleInstallationSystem.sol":{"keccak256":"0xc9b0efce92d9be51ff564fa18efc13365a64cde8dd2e2ef88bac4abe7d432a3d","urls":["bzz-raw://86d2a49cc96ad7e783490c6e44aa2d078444505edc49d1061711200a607441a6","dweb:/ipfs/QmbKkJnRkUE47uWwmhqqmaVozRXLt45ebSZbZnpJpnJfvj"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/StoreRegistrationSystem.sol":{"keccak256":"0xf7edf07894b8c6938b77491d36944d22b37b9e9e8105a689120f66e76450d3dc","urls":["bzz-raw://55be67cb294109fbb9a323c5f788aa7d1b844f7bc57f5bed6b758d2d80447a24","dweb:/ipfs/QmUv8FwmcV6mP2o7aZiZkRxrnQdnaRLYiFWs8ifaEadKJr"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xbae6190d740add0ee986f82b1143f8f160d232e0f3c2eb4d7908040f07b45427","urls":["bzz-raw://022b092b8757770e5799d22de9b09b774f6ecae9820e91847f794785fbdf7198","dweb:/ipfs/QmaSUvvjFYZT2NmNUQJer7L9qAz4P1KJVQ8Z2Giro9Cpxm"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/types.sol":{"keccak256":"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a","urls":["bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3","dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x229777eeaac1099104e10832f59bc02f3494a5b6de8225810a3b175643d97039","urls":["bzz-raw://0bf7e4df65be1808418d8dbb1decb346ec2a3b7a11b895818ae90f319522f795","dweb:/ipfs/Qmco2UnqR9oop9ppY2Zbv1LWCQKGM99A7j6iWGsMCrwSmy"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55","urls":["bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df","dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0xdd201aa30700e70c35c1d4e50c375e511d798961183c8531f947c2d15969debb","urls":["bzz-raw://d9c165b1beb7c1d3f75107407c34a5b3424ec8cb322d494892bceed23323ffb9","dweb:/ipfs/QmdH8rtgJaENsMc6HodAbahKg7PiZUJwoZufnHCw3TwrBx"],"license":"MIT"},"node_modules/@latticexyz/world/src/version.sol":{"keccak256":"0x5db84611779a814a582b5559f636640e3599dba1f36b99c529a19ce73b2d2d44","urls":["bzz-raw://b06ae2f3b888ba3dc719b2d19f60deb7c3398324f636c9dad0b92706dfc08f5a","dweb:/ipfs/QmaLgppohesJhF3ZdMWwM8NHcLiv8SRSCArS4QssfG2dC1"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xc7e0aa6e4746b2d0e2eace7e462adf2f03dbc7f0c880794a577bfdbce426fcc3","urls":["bzz-raw://d7538caf090fc69fff272049cfc00d0f35ae63ee700c2091b9cc4ed5709a3b45","dweb:/ipfs/QmYriK2VpsVAePPLTP6mDZkTYMT9AkgmC2C93ktjVMDaP4"],"license":"MIT"},"node_modules/@latticexyz/world/test/createCoreModule.sol":{"keccak256":"0xb0baab0e9c67c1b945a95291aed4e16cf73ed7b95bc671076fd1a7d960e043d8","urls":["bzz-raw://b603f7c656fed7e592cd598ca94ac46fab6ed31a6d951cf4661bc7f3f24166f2","dweb:/ipfs/QmeNDUPYh3yuUj6oQ19VgKYruY1kDWenNhywzWYXeuxy39"],"license":"MIT"},"node_modules/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"node_modules/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"node_modules/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"node_modules/forge-std/src/StdChains.sol":{"keccak256":"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6","urls":["bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d","dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx"],"license":"MIT"},"node_modules/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"node_modules/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"node_modules/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"node_modules/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"node_modules/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"node_modules/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"node_modules/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"node_modules/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"node_modules/forge-std/src/Test.sol":{"keccak256":"0xf3b62c75cea11a0e8ef8e6526e5e5c74ae47a892b9bcefc0e98d76066e1ffd24","urls":["bzz-raw://a41faaf836453e02c71fc272c80b3c90a614b30c9ba636512db0d033c7b93beb","dweb:/ipfs/QmeQAreYYaxztQtFLQdHCzCPEorj9T5foSu2hQmxk7xT5x"],"license":"MIT"},"node_modules/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"node_modules/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"node_modules/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"node_modules/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"src/utils/SystemSwitch.sol":{"keccak256":"0x8242e32af7f919eebac06852a64d354f8d24ee777079244d430852f22d47230e","urls":["bzz-raw://d32745bde5e8e24e0c293545b1047a580a77602f01b8695c2236192187bdc1da","dweb:/ipfs/QmeX59sxxU6SoM9o1KbCDxuR4DmHB3nyx1Kee4nLgfq6UH"],"license":"MIT"},"test/SystemSwitch.t.sol":{"keccak256":"0x4b94a3137e904e582c3af482afe01316d34b67d57bdd31b65c7174364a530c7a","urls":["bzz-raw://9276851302c3115c7016e495cc2557c1c1a8d9dc2fa17d9d5cf5d49d776742dd","dweb:/ipfs/Qmf72JqyVeSe6RG13ZbAaq5m6zPz4N5viECBftKNcFcV41"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"test/SystemSwitch.t.sol","id":135842,"exportedSymbols":{"EchoSystem":[134945],"GasReporter":[226],"IBaseWorld":[24400],"RESOURCE_SYSTEM":[37052],"ROOT_NAMESPACE":[34848],"ResourceId":[2782],"System":[22601],"SystemSwitch":[126723],"SystemSwitchTest":[135841],"Test":[58812],"World":[23730],"WorldResourceIdInstance":[24272],"WorldResourceIdLib":[24145],"caller":[134951],"createCoreModule":[46913]},"nodeType":"SourceUnit","src":"32:8934:200","nodes":[{"id":134862,"nodeType":"PragmaDirective","src":"32:25:200","nodes":[],"literals":["solidity",">=","0.8",".21"]},{"id":134864,"nodeType":"ImportDirective","src":"59:42:200","nodes":[],"absolutePath":"node_modules/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":135842,"sourceUnit":58813,"symbolAliases":[{"foreign":{"id":134863,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58812,"src":"68:4:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134866,"nodeType":"ImportDirective","src":"102:73:200","nodes":[],"absolutePath":"node_modules/@latticexyz/gas-report/src/GasReporter.sol","file":"@latticexyz/gas-report/src/GasReporter.sol","nameLocation":"-1:-1:-1","scope":135842,"sourceUnit":227,"symbolAliases":[{"foreign":{"id":134865,"name":"GasReporter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":226,"src":"111:11:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134868,"nodeType":"ImportDirective","src":"177:58:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/System.sol","file":"@latticexyz/world/src/System.sol","nameLocation":"-1:-1:-1","scope":135842,"sourceUnit":22602,"symbolAliases":[{"foreign":{"id":134867,"name":"System","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22601,"src":"186:6:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134870,"nodeType":"ImportDirective","src":"236:85:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol","file":"@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol","nameLocation":"-1:-1:-1","scope":135842,"sourceUnit":24401,"symbolAliases":[{"foreign":{"id":134869,"name":"IBaseWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24400,"src":"245:10:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134872,"nodeType":"ImportDirective","src":"322:56:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/World.sol","file":"@latticexyz/world/src/World.sol","nameLocation":"-1:-1:-1","scope":135842,"sourceUnit":23731,"symbolAliases":[{"foreign":{"id":134871,"name":"World","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23730,"src":"331:5:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134874,"nodeType":"ImportDirective","src":"379:79:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/test/createCoreModule.sol","file":"@latticexyz/world/test/createCoreModule.sol","nameLocation":"-1:-1:-1","scope":135842,"sourceUnit":46914,"symbolAliases":[{"foreign":{"id":134873,"name":"createCoreModule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46913,"src":"388:16:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134878,"nodeType":"ImportDirective","src":"459:116:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/WorldResourceId.sol","file":"@latticexyz/world/src/WorldResourceId.sol","nameLocation":"-1:-1:-1","scope":135842,"sourceUnit":24273,"symbolAliases":[{"foreign":{"id":134875,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2782,"src":"468:10:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":134876,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24145,"src":"480:18:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":134877,"name":"WorldResourceIdInstance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24272,"src":"500:23:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134880,"nodeType":"ImportDirective","src":"576:79:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/worldResourceTypes.sol","file":"@latticexyz/world/src/worldResourceTypes.sol","nameLocation":"-1:-1:-1","scope":135842,"sourceUnit":37059,"symbolAliases":[{"foreign":{"id":134879,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37052,"src":"585:15:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134882,"nodeType":"ImportDirective","src":"656:69:200","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/constants.sol","file":"@latticexyz/world/src/constants.sol","nameLocation":"-1:-1:-1","scope":135842,"sourceUnit":34921,"symbolAliases":[{"foreign":{"id":134881,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34848,"src":"665:14:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134884,"nodeType":"ImportDirective","src":"726:61:200","nodes":[],"absolutePath":"src/utils/SystemSwitch.sol","file":"../src/utils/SystemSwitch.sol","nameLocation":"-1:-1:-1","scope":135842,"sourceUnit":126724,"symbolAliases":[{"foreign":{"id":134883,"name":"SystemSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126723,"src":"735:12:200","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":134945,"nodeType":"ContractDefinition","src":"789:570:200","nodes":[{"id":134895,"nodeType":"FunctionDefinition","src":"823:81:200","nodes":[],"body":{"id":134894,"nodeType":"Block","src":"874:30:200","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":134891,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23760,"src":"887:10:200","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":134892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"887:12:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":134890,"id":134893,"nodeType":"Return","src":"880:19:200"}]},"functionSelector":"d737d0c7","implemented":true,"kind":"function","modifiers":[],"name":"msgSender","nameLocation":"832:9:200","parameters":{"id":134887,"nodeType":"ParameterList","parameters":[],"src":"841:2:200"},"returnParameters":{"id":134890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134889,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":134895,"src":"865:7:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":134888,"name":"address","nodeType":"ElementaryTypeName","src":"865:7:200","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"864:9:200"},"scope":134945,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":134904,"nodeType":"FunctionDefinition","src":"908:73:200","nodes":[],"body":{"id":134903,"nodeType":"Block","src":"955:26:200","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":134900,"name":"_world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23782,"src":"968:6:200","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":134901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"968:8:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":134899,"id":134902,"nodeType":"Return","src":"961:15:200"}]},"functionSelector":"30b67baa","implemented":true,"kind":"function","modifiers":[],"name":"world","nameLocation":"917:5:200","parameters":{"id":134896,"nodeType":"ParameterList","parameters":[],"src":"922:2:200"},"returnParameters":{"id":134899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134898,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":134904,"src":"946:7:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":134897,"name":"address","nodeType":"ElementaryTypeName","src":"946:7:200","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"945:9:200"},"scope":134945,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":134914,"nodeType":"FunctionDefinition","src":"985:98:200","nodes":[],"body":{"id":134913,"nodeType":"Block","src":"1058:25:200","nodes":[],"statements":[{"expression":{"id":134911,"name":"message","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134906,"src":"1071:7:200","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":134910,"id":134912,"nodeType":"Return","src":"1064:14:200"}]},"functionSelector":"f15da729","implemented":true,"kind":"function","modifiers":[],"name":"echo","nameLocation":"994:4:200","parameters":{"id":134907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134906,"mutability":"mutable","name":"message","nameLocation":"1013:7:200","nodeType":"VariableDeclaration","scope":134914,"src":"999:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":134905,"name":"string","nodeType":"ElementaryTypeName","src":"999:6:200","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"998:23:200"},"returnParameters":{"id":134910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":134914,"src":"1043:13:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":134908,"name":"string","nodeType":"ElementaryTypeName","src":"1043:6:200","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1042:15:200"},"scope":134945,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":134931,"nodeType":"FunctionDefinition","src":"1087:143:200","nodes":[],"body":{"id":134930,"nodeType":"Block","src":"1175:55:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":134926,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134917,"src":"1206:8:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":134927,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134919,"src":"1216:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":134924,"name":"SystemSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126723,"src":"1188:12:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SystemSwitch_$126723_$","typeString":"type(library SystemSwitch)"}},"id":134925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1201:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":126676,"src":"1188:17:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":134928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1188:37:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":134923,"id":134929,"nodeType":"Return","src":"1181:44:200"}]},"functionSelector":"3ae7af08","implemented":true,"kind":"function","modifiers":[],"name":"call","nameLocation":"1096:4:200","parameters":{"id":134920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134917,"mutability":"mutable","name":"systemId","nameLocation":"1112:8:200","nodeType":"VariableDeclaration","scope":134931,"src":"1101:19:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":134916,"nodeType":"UserDefinedTypeName","pathNode":{"id":134915,"name":"ResourceId","nameLocations":["1101:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1101:10:200"},"referencedDeclaration":2782,"src":"1101:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":134919,"mutability":"mutable","name":"callData","nameLocation":"1135:8:200","nodeType":"VariableDeclaration","scope":134931,"src":"1122:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":134918,"name":"bytes","nodeType":"ElementaryTypeName","src":"1122:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1100:44:200"},"returnParameters":{"id":134923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134922,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":134931,"src":"1161:12:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":134921,"name":"bytes","nodeType":"ElementaryTypeName","src":"1161:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1160:14:200"},"scope":134945,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":134944,"nodeType":"FunctionDefinition","src":"1234:123:200","nodes":[],"body":{"id":134943,"nodeType":"Block","src":"1312:45:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":134940,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134933,"src":"1343:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":134938,"name":"SystemSwitch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126723,"src":"1325:12:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SystemSwitch_$126723_$","typeString":"type(library SystemSwitch)"}},"id":134939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1338:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":126722,"src":"1325:17:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":134941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1325:27:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":134937,"id":134942,"nodeType":"Return","src":"1318:34:200"}]},"functionSelector":"96f09da6","implemented":true,"kind":"function","modifiers":[],"name":"callViaSelector","nameLocation":"1243:15:200","parameters":{"id":134934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134933,"mutability":"mutable","name":"callData","nameLocation":"1272:8:200","nodeType":"VariableDeclaration","scope":134944,"src":"1259:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":134932,"name":"bytes","nodeType":"ElementaryTypeName","src":"1259:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1258:23:200"},"returnParameters":{"id":134937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":134936,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":134944,"src":"1298:12:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":134935,"name":"bytes","nodeType":"ElementaryTypeName","src":"1298:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1297:14:200"},"scope":134945,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":134885,"name":"System","nameLocations":["812:6:200"],"nodeType":"IdentifierPath","referencedDeclaration":22601,"src":"812:6:200"},"id":134886,"nodeType":"InheritanceSpecifier","src":"812:6:200"}],"canonicalName":"EchoSystem","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[134945,22601,23800,22336,22203],"name":"EchoSystem","nameLocation":"798:10:200","scope":135842,"usedErrors":[22360,22390],"usedEvents":[]},{"id":134951,"nodeType":"VariableDeclaration","src":"1361:39:200","nodes":[],"constant":true,"mutability":"constant","name":"caller","nameLocation":"1378:6:200","scope":135842,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":134946,"name":"address","nodeType":"ElementaryTypeName","src":"1361:7:200","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"34323332","id":134949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1395:4:200","typeDescriptions":{"typeIdentifier":"t_rational_4232_by_1","typeString":"int_const 4232"},"value":"4232"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4232_by_1","typeString":"int_const 4232"}],"id":134948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1387:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":134947,"name":"address","nodeType":"ElementaryTypeName","src":"1387:7:200","typeDescriptions":{}}},"id":134950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1387:13:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":135841,"nodeType":"ContractDefinition","src":"1403:7562:200","nodes":[{"id":134959,"nodeType":"UsingForDirective","src":"1454:45:200","nodes":[],"global":false,"libraryName":{"id":134956,"name":"WorldResourceIdInstance","nameLocations":["1460:23:200"],"nodeType":"IdentifierPath","referencedDeclaration":24272,"src":"1460:23:200"},"typeName":{"id":134958,"nodeType":"UserDefinedTypeName","pathNode":{"id":134957,"name":"ResourceId","nameLocations":["1488:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1488:10:200"},"referencedDeclaration":2782,"src":"1488:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}},{"id":134962,"nodeType":"VariableDeclaration","src":"1503:16:200","nodes":[],"constant":false,"mutability":"mutable","name":"world","nameLocation":"1514:5:200","scope":135841,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"},"typeName":{"id":134961,"nodeType":"UserDefinedTypeName","pathNode":{"id":134960,"name":"IBaseWorld","nameLocations":["1503:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":24400,"src":"1503:10:200"},"referencedDeclaration":24400,"src":"1503:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"visibility":"internal"},{"id":134965,"nodeType":"VariableDeclaration","src":"1524:18:200","nodes":[],"constant":false,"mutability":"mutable","name":"systemA","nameLocation":"1535:7:200","scope":135841,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"},"typeName":{"id":134964,"nodeType":"UserDefinedTypeName","pathNode":{"id":134963,"name":"EchoSystem","nameLocations":["1524:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134945,"src":"1524:10:200"},"referencedDeclaration":134945,"src":"1524:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":134968,"nodeType":"VariableDeclaration","src":"1546:18:200","nodes":[],"constant":false,"mutability":"mutable","name":"systemB","nameLocation":"1557:7:200","scope":135841,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"},"typeName":{"id":134967,"nodeType":"UserDefinedTypeName","pathNode":{"id":134966,"name":"EchoSystem","nameLocations":["1546:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134945,"src":"1546:10:200"},"referencedDeclaration":134945,"src":"1546:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":134971,"nodeType":"VariableDeclaration","src":"1568:22:200","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemA","nameLocation":"1579:11:200","scope":135841,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"},"typeName":{"id":134970,"nodeType":"UserDefinedTypeName","pathNode":{"id":134969,"name":"EchoSystem","nameLocations":["1568:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134945,"src":"1568:10:200"},"referencedDeclaration":134945,"src":"1568:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":134974,"nodeType":"VariableDeclaration","src":"1594:22:200","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemB","nameLocation":"1605:11:200","scope":135841,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"},"typeName":{"id":134973,"nodeType":"UserDefinedTypeName","pathNode":{"id":134972,"name":"EchoSystem","nameLocations":["1594:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134945,"src":"1594:10:200"},"referencedDeclaration":134945,"src":"1594:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"visibility":"internal"},{"id":134977,"nodeType":"VariableDeclaration","src":"1621:20:200","nodes":[],"constant":false,"mutability":"mutable","name":"systemAId","nameLocation":"1632:9:200","scope":135841,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":134976,"nodeType":"UserDefinedTypeName","pathNode":{"id":134975,"name":"ResourceId","nameLocations":["1621:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1621:10:200"},"referencedDeclaration":2782,"src":"1621:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":134980,"nodeType":"VariableDeclaration","src":"1645:20:200","nodes":[],"constant":false,"mutability":"mutable","name":"systemBId","nameLocation":"1656:9:200","scope":135841,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":134979,"nodeType":"UserDefinedTypeName","pathNode":{"id":134978,"name":"ResourceId","nameLocations":["1645:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1645:10:200"},"referencedDeclaration":2782,"src":"1645:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":134983,"nodeType":"VariableDeclaration","src":"1669:24:200","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemAId","nameLocation":"1680:13:200","scope":135841,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":134982,"nodeType":"UserDefinedTypeName","pathNode":{"id":134981,"name":"ResourceId","nameLocations":["1669:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1669:10:200"},"referencedDeclaration":2782,"src":"1669:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":134986,"nodeType":"VariableDeclaration","src":"1697:24:200","nodes":[],"constant":false,"mutability":"mutable","name":"rootSystemBId","nameLocation":"1708:13:200","scope":135841,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":134985,"nodeType":"UserDefinedTypeName","pathNode":{"id":134984,"name":"ResourceId","nameLocations":["1697:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"1697:10:200"},"referencedDeclaration":2782,"src":"1697:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"id":135126,"nodeType":"FunctionDefinition","src":"1726:1209:200","nodes":[],"body":{"id":135125,"nodeType":"Block","src":"1750:1185:200","nodes":[],"statements":[{"assignments":[134991],"declarations":[{"constant":false,"id":134991,"mutability":"mutable","name":"_world","nameLocation":"1782:6:200","nodeType":"VariableDeclaration","scope":135125,"src":"1776:12:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"},"typeName":{"id":134990,"nodeType":"UserDefinedTypeName","pathNode":{"id":134989,"name":"World","nameLocations":["1776:5:200"],"nodeType":"IdentifierPath","referencedDeclaration":23730,"src":"1776:5:200"},"referencedDeclaration":23730,"src":"1776:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"}},"visibility":"internal"}],"id":134996,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":134994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1791:9:200","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_World_$23730_$","typeString":"function () returns (contract World)"},"typeName":{"id":134993,"nodeType":"UserDefinedTypeName","pathNode":{"id":134992,"name":"World","nameLocations":["1795:5:200"],"nodeType":"IdentifierPath","referencedDeclaration":23730,"src":"1795:5:200"},"referencedDeclaration":23730,"src":"1795:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"}}},"id":134995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1791:11:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"}},"nodeType":"VariableDeclarationStatement","src":"1776:26:200"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":135000,"name":"createCoreModule","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46913,"src":"1826:16:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_contract$_CoreModule_$35431_$","typeString":"function () returns (contract CoreModule)"}},"id":135001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1826:18:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CoreModule_$35431","typeString":"contract CoreModule"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CoreModule_$35431","typeString":"contract CoreModule"}],"expression":{"id":134997,"name":"_world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134991,"src":"1808:6:200","typeDescriptions":{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"}},"id":134999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1815:10:200","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":23071,"src":"1808:17:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_contract$_IModule_$22254_$returns$__$","typeString":"function (contract IModule) external"}},"id":135002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1808:37:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135003,"nodeType":"ExpressionStatement","src":"1808:37:200"},{"expression":{"id":135011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135004,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"1851:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":135008,"name":"_world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134991,"src":"1878:6:200","typeDescriptions":{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_World_$23730","typeString":"contract World"}],"id":135007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1870:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135006,"name":"address","nodeType":"ElementaryTypeName","src":"1870:7:200","typeDescriptions":{}}},"id":135009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1870:15:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":135005,"name":"IBaseWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24400,"src":"1859:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBaseWorld_$24400_$","typeString":"type(contract IBaseWorld)"}},"id":135010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1859:27:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"src":"1851:35:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135012,"nodeType":"ExpressionStatement","src":"1851:35:200"},{"expression":{"id":135018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135013,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134965,"src":"1915:7:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":135016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1925:14:200","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$134945_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":135015,"nodeType":"UserDefinedTypeName","pathNode":{"id":135014,"name":"EchoSystem","nameLocations":["1929:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134945,"src":"1929:10:200"},"referencedDeclaration":134945,"src":"1929:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}}},"id":135017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1925:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"src":"1915:26:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"id":135019,"nodeType":"ExpressionStatement","src":"1915:26:200"},{"expression":{"id":135025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135020,"name":"systemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134968,"src":"1947:7:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":135023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1957:14:200","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$134945_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":135022,"nodeType":"UserDefinedTypeName","pathNode":{"id":135021,"name":"EchoSystem","nameLocations":["1961:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134945,"src":"1961:10:200"},"referencedDeclaration":134945,"src":"1961:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}}},"id":135024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1957:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"src":"1947:26:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"id":135026,"nodeType":"ExpressionStatement","src":"1947:26:200"},{"expression":{"id":135032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135027,"name":"rootSystemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134971,"src":"1979:11:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":135030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1993:14:200","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$134945_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":135029,"nodeType":"UserDefinedTypeName","pathNode":{"id":135028,"name":"EchoSystem","nameLocations":["1997:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134945,"src":"1997:10:200"},"referencedDeclaration":134945,"src":"1997:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}}},"id":135031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1993:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"src":"1979:30:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"id":135033,"nodeType":"ExpressionStatement","src":"1979:30:200"},{"expression":{"id":135039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135034,"name":"rootSystemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134974,"src":"2015:11:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":135037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2029:14:200","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EchoSystem_$134945_$","typeString":"function () returns (contract EchoSystem)"},"typeName":{"id":135036,"nodeType":"UserDefinedTypeName","pathNode":{"id":135035,"name":"EchoSystem","nameLocations":["2033:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":134945,"src":"2033:10:200"},"referencedDeclaration":134945,"src":"2033:10:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}}},"id":135038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2029:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"src":"2015:30:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},"id":135040,"nodeType":"ExpressionStatement","src":"2015:30:200"},{"expression":{"id":135048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135041,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134977,"src":"2077:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":135044,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37052,"src":"2125:15:200","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"hexValue":"6e616d65737061636541","id":135045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2153:12:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5249ea074de3b5c1907767d7daf078e87d4b0a31b187546ff27e540c44dd67f","typeString":"literal_string \"namespaceA\""},"value":"namespaceA"},{"hexValue":"73797374656d41","id":135046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2173:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""},"value":"systemA"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_stringliteral_e5249ea074de3b5c1907767d7daf078e87d4b0a31b187546ff27e540c44dd67f","typeString":"literal_string \"namespaceA\""},{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""}],"expression":{"id":135042,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24145,"src":"2089:18:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24145_$","typeString":"type(library WorldResourceIdLib)"}},"id":135043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2108:6:200","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24073,"src":"2089:25:200","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":135047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2117:6:200","2142:9:200","2167:4:200"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2089:96:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2077:108:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":135049,"nodeType":"ExpressionStatement","src":"2077:108:200"},{"expression":{"id":135057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135050,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134980,"src":"2191:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":135053,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37052,"src":"2239:15:200","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"hexValue":"6e616d65737061636542","id":135054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2267:12:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_9966cb362f88b0d958879f3f2d1e887cd1b93cd84663a71d6f07414bb1f92582","typeString":"literal_string \"namespaceB\""},"value":"namespaceB"},{"hexValue":"73797374656d42","id":135055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2287:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""},"value":"systemB"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_stringliteral_9966cb362f88b0d958879f3f2d1e887cd1b93cd84663a71d6f07414bb1f92582","typeString":"literal_string \"namespaceB\""},{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""}],"expression":{"id":135051,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24145,"src":"2203:18:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24145_$","typeString":"type(library WorldResourceIdLib)"}},"id":135052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2222:6:200","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24073,"src":"2203:25:200","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":135056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2231:6:200","2256:9:200","2281:4:200"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2203:96:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2191:108:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":135058,"nodeType":"ExpressionStatement","src":"2191:108:200"},{"expression":{"id":135066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135059,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134983,"src":"2305:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":135062,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37052,"src":"2357:15:200","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"id":135063,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34848,"src":"2385:14:200","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},{"hexValue":"73797374656d41","id":135064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2407:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""},"value":"systemA"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_bytes14","typeString":"bytes14"},{"typeIdentifier":"t_stringliteral_47c9562a232d8ed813eff016ef7af580f4ac4d26e2d3dbec81d3bf494297695e","typeString":"literal_string \"systemA\""}],"expression":{"id":135060,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24145,"src":"2321:18:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24145_$","typeString":"type(library WorldResourceIdLib)"}},"id":135061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2340:6:200","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24073,"src":"2321:25:200","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":135065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2349:6:200","2374:9:200","2401:4:200"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2321:98:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2305:114:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":135067,"nodeType":"ExpressionStatement","src":"2305:114:200"},{"expression":{"id":135075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":135068,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134986,"src":"2425:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":135071,"name":"RESOURCE_SYSTEM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37052,"src":"2477:15:200","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"id":135072,"name":"ROOT_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34848,"src":"2505:14:200","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},{"hexValue":"73797374656d42","id":135073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2527:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""},"value":"systemB"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_bytes14","typeString":"bytes14"},{"typeIdentifier":"t_stringliteral_4b22053f4496c362f888b764f547d8ea33d632edb4e459a3de001e0e5add5a7c","typeString":"literal_string \"systemB\""}],"expression":{"id":135069,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24145,"src":"2441:18:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$24145_$","typeString":"type(library WorldResourceIdLib)"}},"id":135070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2460:6:200","memberName":"encode","nodeType":"MemberAccess","referencedDeclaration":24073,"src":"2441:25:200","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes2_$_t_bytes14_$_t_bytes16_$returns$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (bytes2,bytes14,bytes16) pure returns (ResourceId)"}},"id":135074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["2469:6:200","2494:9:200","2521:4:200"],"names":["typeId","namespace","name"],"nodeType":"FunctionCall","src":"2441:98:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"src":"2425:114:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":135076,"nodeType":"ExpressionStatement","src":"2425:114:200"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":135080,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134977,"src":"2597:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":135081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2607:14:200","memberName":"getNamespaceId","nodeType":"MemberAccess","referencedDeclaration":24191,"src":"2597:24:200","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$2782_$returns$_t_userDefinedValueType$_ResourceId_$2782_$attached_to$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (ResourceId) pure returns (ResourceId)"}},"id":135082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2597:26:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}],"expression":{"id":135077,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"2573:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2579:17:200","memberName":"registerNamespace","nodeType":"MemberAccess","referencedDeclaration":24460,"src":"2573:23:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$returns$__$","typeString":"function (ResourceId) external"}},"id":135083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2573:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135084,"nodeType":"ExpressionStatement","src":"2573:51:200"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":135088,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134980,"src":"2654:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"id":135089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2664:14:200","memberName":"getNamespaceId","nodeType":"MemberAccess","referencedDeclaration":24191,"src":"2654:24:200","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_ResourceId_$2782_$returns$_t_userDefinedValueType$_ResourceId_$2782_$attached_to$_t_userDefinedValueType$_ResourceId_$2782_$","typeString":"function (ResourceId) pure returns (ResourceId)"}},"id":135090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2654:26:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}],"expression":{"id":135085,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"2630:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2636:17:200","memberName":"registerNamespace","nodeType":"MemberAccess","referencedDeclaration":24460,"src":"2630:23:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$returns$__$","typeString":"function (ResourceId) external"}},"id":135091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2630:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135092,"nodeType":"ExpressionStatement","src":"2630:51:200"},{"expression":{"arguments":[{"id":135096,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134977,"src":"2733:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":135097,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134965,"src":"2744:7:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":135098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2753:4:200","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":135093,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"2712:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2718:14:200","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24491,"src":"2712:20:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_WorldContextConsumer_$23800_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract WorldContextConsumer,bool) external"}},"id":135099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2712:46:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135100,"nodeType":"ExpressionStatement","src":"2712:46:200"},{"expression":{"arguments":[{"id":135104,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134980,"src":"2785:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":135105,"name":"systemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134968,"src":"2796:7:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":135106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2805:4:200","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":135101,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"2764:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2770:14:200","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24491,"src":"2764:20:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_WorldContextConsumer_$23800_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract WorldContextConsumer,bool) external"}},"id":135107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2764:46:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135108,"nodeType":"ExpressionStatement","src":"2764:46:200"},{"expression":{"arguments":[{"id":135112,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134983,"src":"2837:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":135113,"name":"rootSystemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134971,"src":"2852:11:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":135114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2865:4:200","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":135109,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"2816:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2822:14:200","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24491,"src":"2816:20:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_WorldContextConsumer_$23800_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract WorldContextConsumer,bool) external"}},"id":135115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2816:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135116,"nodeType":"ExpressionStatement","src":"2816:54:200"},{"expression":{"arguments":[{"id":135120,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134986,"src":"2897:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":135121,"name":"rootSystemB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134974,"src":"2912:11:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}},{"hexValue":"74727565","id":135122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2925:4:200","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":135117,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"2876:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2882:14:200","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":24491,"src":"2876:20:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_contract$_WorldContextConsumer_$23800_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract WorldContextConsumer,bool) external"}},"id":135123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2876:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135124,"nodeType":"ExpressionStatement","src":"2876:54:200"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"1735:5:200","parameters":{"id":134987,"nodeType":"ParameterList","parameters":[],"src":"1740:2:200"},"returnParameters":{"id":134988,"nodeType":"ParameterList","parameters":[],"src":"1750:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135156,"nodeType":"FunctionDefinition","src":"2939:226:200","nodes":[],"body":{"id":135155,"nodeType":"Block","src":"3046:119:200","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":135140,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134983,"src":"3081:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135143,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"3111:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3122:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":134931,"src":"3111:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"}},{"components":[{"id":135145,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135129,"src":"3129:8:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":135146,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135131,"src":"3139:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":135147,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3128:20:200","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}],"expression":{"id":135141,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3096:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3100:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"3096:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3096:53:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135138,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"3070:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3076:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22461,"src":"3070:10:200","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":135149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3070:80:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3153:5:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":135150,"name":"bytes","nodeType":"ElementaryTypeName","src":"3153:5:200","typeDescriptions":{}}}],"id":135152,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3152:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":135136,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3059:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3063:6:200","memberName":"decode","nodeType":"MemberAccess","src":"3059:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3059:101:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":135135,"id":135154,"nodeType":"Return","src":"3052:108:200"}]},"functionSelector":"101f99a3","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromRootSystemA","nameLocation":"2948:23:200","parameters":{"id":135132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135129,"mutability":"mutable","name":"systemId","nameLocation":"2983:8:200","nodeType":"VariableDeclaration","scope":135156,"src":"2972:19:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":135128,"nodeType":"UserDefinedTypeName","pathNode":{"id":135127,"name":"ResourceId","nameLocations":["2972:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"2972:10:200"},"referencedDeclaration":2782,"src":"2972:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":135131,"mutability":"mutable","name":"callData","nameLocation":"3006:8:200","nodeType":"VariableDeclaration","scope":135156,"src":"2993:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135130,"name":"bytes","nodeType":"ElementaryTypeName","src":"2993:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2971:44:200"},"returnParameters":{"id":135135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135134,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":135156,"src":"3032:12:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135133,"name":"bytes","nodeType":"ElementaryTypeName","src":"3032:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3031:14:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135186,"nodeType":"FunctionDefinition","src":"3169:218:200","nodes":[],"body":{"id":135185,"nodeType":"Block","src":"3272:115:200","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":135170,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134977,"src":"3307:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135173,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"3333:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3344:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":134931,"src":"3333:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"}},{"components":[{"id":135175,"name":"systemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135159,"src":"3351:8:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"id":135176,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135161,"src":"3361:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":135177,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3350:20:200","typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.call(ResourceId,bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$","typeString":"tuple(ResourceId,bytes memory)"}],"expression":{"id":135171,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3318:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3322:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"3318:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3318:53:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135168,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"3296:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3302:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22461,"src":"3296:10:200","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":135179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3296:76:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3375:5:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":135180,"name":"bytes","nodeType":"ElementaryTypeName","src":"3375:5:200","typeDescriptions":{}}}],"id":135182,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3374:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":135166,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3285:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3289:6:200","memberName":"decode","nodeType":"MemberAccess","src":"3285:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3285:97:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":135165,"id":135184,"nodeType":"Return","src":"3278:104:200"}]},"functionSelector":"3fa01b98","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromSystemA","nameLocation":"3178:19:200","parameters":{"id":135162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135159,"mutability":"mutable","name":"systemId","nameLocation":"3209:8:200","nodeType":"VariableDeclaration","scope":135186,"src":"3198:19:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},"typeName":{"id":135158,"nodeType":"UserDefinedTypeName","pathNode":{"id":135157,"name":"ResourceId","nameLocations":["3198:10:200"],"nodeType":"IdentifierPath","referencedDeclaration":2782,"src":"3198:10:200"},"referencedDeclaration":2782,"src":"3198:10:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},"visibility":"internal"},{"constant":false,"id":135161,"mutability":"mutable","name":"callData","nameLocation":"3232:8:200","nodeType":"VariableDeclaration","scope":135186,"src":"3219:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135160,"name":"bytes","nodeType":"ElementaryTypeName","src":"3219:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3197:44:200"},"returnParameters":{"id":135165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135164,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":135186,"src":"3258:12:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135163,"name":"bytes","nodeType":"ElementaryTypeName","src":"3258:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3257:14:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135212,"nodeType":"FunctionDefinition","src":"3391:206:200","nodes":[],"body":{"id":135211,"nodeType":"Block","src":"3477:120:200","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":135197,"name":"rootSystemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134983,"src":"3512:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135200,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"3542:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3553:15:200","memberName":"callViaSelector","nodeType":"MemberAccess","referencedDeclaration":134944,"src":"3542:26:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"}},{"components":[{"id":135202,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135188,"src":"3571:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":135203,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3570:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135198,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3527:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3531:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"3527:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3527:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135195,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"3501:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3507:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22461,"src":"3501:10:200","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":135205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3501:81:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3585:5:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":135206,"name":"bytes","nodeType":"ElementaryTypeName","src":"3585:5:200","typeDescriptions":{}}}],"id":135208,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3584:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":135193,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3490:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3494:6:200","memberName":"decode","nodeType":"MemberAccess","src":"3490:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3490:102:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":135192,"id":135210,"nodeType":"Return","src":"3483:109:200"}]},"functionSelector":"199e1d17","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromRootSystemA","nameLocation":"3400:23:200","parameters":{"id":135189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135188,"mutability":"mutable","name":"callData","nameLocation":"3437:8:200","nodeType":"VariableDeclaration","scope":135212,"src":"3424:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135187,"name":"bytes","nodeType":"ElementaryTypeName","src":"3424:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3423:23:200"},"returnParameters":{"id":135192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135191,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":135212,"src":"3463:12:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135190,"name":"bytes","nodeType":"ElementaryTypeName","src":"3463:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3462:14:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135238,"nodeType":"FunctionDefinition","src":"3601:198:200","nodes":[],"body":{"id":135237,"nodeType":"Block","src":"3683:116:200","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":135223,"name":"systemAId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134977,"src":"3718:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135226,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"3744:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3755:15:200","memberName":"callViaSelector","nodeType":"MemberAccess","referencedDeclaration":134944,"src":"3744:26:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"}},{"components":[{"id":135228,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135214,"src":"3773:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":135229,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3772:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function EchoSystem.callViaSelector(bytes memory) returns (bytes memory)"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135224,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3729:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3733:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"3729:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3729:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":135221,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"3707:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3713:4:200","memberName":"call","nodeType":"MemberAccess","referencedDeclaration":22461,"src":"3707:10:200","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) payable external returns (bytes memory)"}},"id":135231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3707:77:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3787:5:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":135232,"name":"bytes","nodeType":"ElementaryTypeName","src":"3787:5:200","typeDescriptions":{}}}],"id":135234,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3786:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"}],"expression":{"id":135219,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3696:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3700:6:200","memberName":"decode","nodeType":"MemberAccess","src":"3696:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3696:98:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":135218,"id":135236,"nodeType":"Return","src":"3689:105:200"}]},"functionSelector":"075d7777","implemented":true,"kind":"function","modifiers":[],"name":"_executeFromSystemA","nameLocation":"3610:19:200","parameters":{"id":135215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135214,"mutability":"mutable","name":"callData","nameLocation":"3643:8:200","nodeType":"VariableDeclaration","scope":135238,"src":"3630:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135213,"name":"bytes","nodeType":"ElementaryTypeName","src":"3630:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3629:23:200"},"returnParameters":{"id":135218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":135217,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":135238,"src":"3669:12:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135216,"name":"bytes","nodeType":"ElementaryTypeName","src":"3669:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3668:14:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135271,"nodeType":"FunctionDefinition","src":"3906:244:200","nodes":[],"body":{"id":135270,"nodeType":"Block","src":"3954:196:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135244,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"3969:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135241,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"3960:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3963:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"3960:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3960:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135246,"nodeType":"ExpressionStatement","src":"3960:16:200"},{"assignments":[135248],"declarations":[{"constant":false,"id":135248,"mutability":"mutable","name":"returnData","nameLocation":"3995:10:200","nodeType":"VariableDeclaration","scope":135270,"src":"3982:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135247,"name":"bytes","nodeType":"ElementaryTypeName","src":"3982:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135258,"initialValue":{"arguments":[{"id":135250,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134986,"src":"4032:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135253,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"4062:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4073:9:200","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":134895,"src":"4062:20:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":135255,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4084:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135251,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4047:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4051:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"4047:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:40:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135249,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135156,135212],"referencedDeclaration":135156,"src":"4008:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:80:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3982:106:200"},{"expression":{"arguments":[{"arguments":[{"id":135262,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135248,"src":"4114:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4127:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135263,"name":"address","nodeType":"ElementaryTypeName","src":"4127:7:200","typeDescriptions":{}}}],"id":135265,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4126:9:200","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":135260,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4103:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4107:6:200","memberName":"decode","nodeType":"MemberAccess","src":"4103:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4103:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":135267,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"4138:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135259,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"4094:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4094:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135269,"nodeType":"ExpressionStatement","src":"4094:51:200"}]},"functionSelector":"ed3a1856","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootMsgSender","nameLocation":"3915:29:200","parameters":{"id":135239,"nodeType":"ParameterList","parameters":[],"src":"3944:2:200"},"returnParameters":{"id":135240,"nodeType":"ParameterList","parameters":[],"src":"3954:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135307,"nodeType":"FunctionDefinition","src":"4154:244:200","nodes":[],"body":{"id":135306,"nodeType":"Block","src":"4198:200:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135277,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"4213:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135274,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"4204:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4207:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"4204:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4204:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135279,"nodeType":"ExpressionStatement","src":"4204:16:200"},{"assignments":[135281],"declarations":[{"constant":false,"id":135281,"mutability":"mutable","name":"returnData","nameLocation":"4239:10:200","nodeType":"VariableDeclaration","scope":135306,"src":"4226:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135280,"name":"bytes","nodeType":"ElementaryTypeName","src":"4226:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135291,"initialValue":{"arguments":[{"id":135283,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134986,"src":"4276:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135286,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"4306:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4317:5:200","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":134904,"src":"4306:16:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":135288,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4324:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135284,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4291:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4295:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"4291:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4291:36:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135282,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135156,135212],"referencedDeclaration":135156,"src":"4252:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4252:76:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4226:102:200"},{"expression":{"arguments":[{"arguments":[{"id":135295,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135281,"src":"4354:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4367:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135296,"name":"address","nodeType":"ElementaryTypeName","src":"4367:7:200","typeDescriptions":{}}}],"id":135298,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4366:9:200","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":135293,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4343:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4347:6:200","memberName":"decode","nodeType":"MemberAccess","src":"4343:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4343:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":135302,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"4386:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}],"id":135301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4378:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135300,"name":"address","nodeType":"ElementaryTypeName","src":"4378:7:200","typeDescriptions":{}}},"id":135303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4378:14:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135292,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"4334:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4334:59:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135305,"nodeType":"ExpressionStatement","src":"4334:59:200"}]},"functionSelector":"3911733c","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootWorld","nameLocation":"4163:25:200","parameters":{"id":135272,"nodeType":"ParameterList","parameters":[],"src":"4188:2:200"},"returnParameters":{"id":135273,"nodeType":"ParameterList","parameters":[],"src":"4198:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135341,"nodeType":"FunctionDefinition","src":"4402:241:200","nodes":[],"body":{"id":135340,"nodeType":"Block","src":"4445:198:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135313,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"4460:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135310,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"4451:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4454:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"4451:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4451:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135315,"nodeType":"ExpressionStatement","src":"4451:16:200"},{"assignments":[135317],"declarations":[{"constant":false,"id":135317,"mutability":"mutable","name":"returnData","nameLocation":"4486:10:200","nodeType":"VariableDeclaration","scope":135340,"src":"4473:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135316,"name":"bytes","nodeType":"ElementaryTypeName","src":"4473:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135328,"initialValue":{"arguments":[{"id":135319,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134986,"src":"4523:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135322,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"4553:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4564:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134914,"src":"4553:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":135324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4571:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":135325,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4570:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135320,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4538:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4542:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"4538:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4538:42:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135318,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135156,135212],"referencedDeclaration":135156,"src":"4499:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4499:82:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4473:108:200"},{"expression":{"arguments":[{"arguments":[{"id":135332,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135317,"src":"4607:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4620:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135333,"name":"string","nodeType":"ElementaryTypeName","src":"4620:6:200","typeDescriptions":{}}}],"id":135335,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4619:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135330,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4596:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4600:6:200","memberName":"decode","nodeType":"MemberAccess","src":"4596:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4596:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4630:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135329,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"4587:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4587:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135339,"nodeType":"ExpressionStatement","src":"4587:51:200"}]},"functionSelector":"3424e1c1","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootEcho","nameLocation":"4411:24:200","parameters":{"id":135308,"nodeType":"ParameterList","parameters":[],"src":"4435:2:200"},"returnParameters":{"id":135309,"nodeType":"ParameterList","parameters":[],"src":"4445:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135387,"nodeType":"FunctionDefinition","src":"4647:438:200","nodes":[],"body":{"id":135386,"nodeType":"Block","src":"4699:386:200","nodes":[],"statements":[{"assignments":[135345],"declarations":[{"constant":false,"id":135345,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"4712:21:200","nodeType":"VariableDeclaration","scope":135386,"src":"4705:28:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":135344,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4705:6:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":135354,"initialValue":{"arguments":[{"id":135348,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134986,"src":"4778:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":135349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4799:14:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":135350,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"4821:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4832:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134914,"src":"4821:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},"id":135352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4837:8:200","memberName":"selector","nodeType":"MemberAccess","src":"4821:24:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":135346,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"4736:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4742:28:200","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24513,"src":"4736:34:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":135353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4736:115:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"4705:146:200"},{"assignments":[135356],"declarations":[{"constant":false,"id":135356,"mutability":"mutable","name":"callData","nameLocation":"4870:8:200","nodeType":"VariableDeclaration","scope":135386,"src":"4857:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135355,"name":"bytes","nodeType":"ElementaryTypeName","src":"4857:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135362,"initialValue":{"arguments":[{"id":135359,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135345,"src":"4904:21:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":135360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4927:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135357,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4881:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4885:18:200","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4881:22:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":135361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4881:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4857:78:200"},{"expression":{"arguments":[{"id":135366,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"4951:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135363,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"4942:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4945:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"4942:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4942:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135368,"nodeType":"ExpressionStatement","src":"4942:16:200"},{"assignments":[135370],"declarations":[{"constant":false,"id":135370,"mutability":"mutable","name":"returnData","nameLocation":"4977:10:200","nodeType":"VariableDeclaration","scope":135386,"src":"4964:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135369,"name":"bytes","nodeType":"ElementaryTypeName","src":"4964:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135374,"initialValue":{"arguments":[{"id":135372,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135356,"src":"5014:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135371,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135156,135212],"referencedDeclaration":135212,"src":"4990:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":135373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4990:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4964:59:200"},{"expression":{"arguments":[{"arguments":[{"id":135378,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135370,"src":"5049:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5062:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135379,"name":"string","nodeType":"ElementaryTypeName","src":"5062:6:200","typeDescriptions":{}}}],"id":135381,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5061:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135376,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5038:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5042:6:200","memberName":"decode","nodeType":"MemberAccess","src":"5038:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5038:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5072:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135375,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"5029:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5029:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135385,"nodeType":"ExpressionStatement","src":"5029:51:200"}]},"functionSelector":"78845560","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromRootWorldSelector","nameLocation":"4656:33:200","parameters":{"id":135342,"nodeType":"ParameterList","parameters":[],"src":"4689:2:200"},"returnParameters":{"id":135343,"nodeType":"ParameterList","parameters":[],"src":"4699:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135423,"nodeType":"FunctionDefinition","src":"5196:253:200","nodes":[],"body":{"id":135422,"nodeType":"Block","src":"5247:202:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135393,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"5262:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135390,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"5253:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5256:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"5253:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135395,"nodeType":"ExpressionStatement","src":"5253:16:200"},{"assignments":[135397],"declarations":[{"constant":false,"id":135397,"mutability":"mutable","name":"returnData","nameLocation":"5288:10:200","nodeType":"VariableDeclaration","scope":135422,"src":"5275:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135396,"name":"bytes","nodeType":"ElementaryTypeName","src":"5275:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135407,"initialValue":{"arguments":[{"id":135399,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134986,"src":"5321:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135402,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"5351:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5362:9:200","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":134895,"src":"5351:20:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":135404,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5373:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135400,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5336:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5340:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"5336:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5336:40:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135398,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135186,135238],"referencedDeclaration":135186,"src":"5301:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5301:76:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5275:102:200"},{"expression":{"arguments":[{"arguments":[{"id":135411,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135397,"src":"5403:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5416:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135412,"name":"address","nodeType":"ElementaryTypeName","src":"5416:7:200","typeDescriptions":{}}}],"id":135414,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5415:9:200","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":135409,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5392:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5396:6:200","memberName":"decode","nodeType":"MemberAccess","src":"5392:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5392:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":135418,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134965,"src":"5435:7:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}],"id":135417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5427:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135416,"name":"address","nodeType":"ElementaryTypeName","src":"5427:7:200","typeDescriptions":{}}},"id":135419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5427:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135408,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"5383:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:61:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135421,"nodeType":"ExpressionStatement","src":"5383:61:200"}]},"functionSelector":"e78c82e3","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootMsgSender","nameLocation":"5205:32:200","parameters":{"id":135388,"nodeType":"ParameterList","parameters":[],"src":"5237:2:200"},"returnParameters":{"id":135389,"nodeType":"ParameterList","parameters":[],"src":"5247:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135459,"nodeType":"FunctionDefinition","src":"5453:243:200","nodes":[],"body":{"id":135458,"nodeType":"Block","src":"5500:196:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135429,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"5515:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135426,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"5506:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5509:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"5506:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5506:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135431,"nodeType":"ExpressionStatement","src":"5506:16:200"},{"assignments":[135433],"declarations":[{"constant":false,"id":135433,"mutability":"mutable","name":"returnData","nameLocation":"5541:10:200","nodeType":"VariableDeclaration","scope":135458,"src":"5528:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135432,"name":"bytes","nodeType":"ElementaryTypeName","src":"5528:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135443,"initialValue":{"arguments":[{"id":135435,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134986,"src":"5574:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135438,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"5604:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5615:5:200","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":134904,"src":"5604:16:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":135440,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5622:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135436,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5589:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5593:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"5589:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5589:36:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135434,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135186,135238],"referencedDeclaration":135186,"src":"5554:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5554:72:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5528:98:200"},{"expression":{"arguments":[{"arguments":[{"id":135447,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135433,"src":"5652:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5665:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135448,"name":"address","nodeType":"ElementaryTypeName","src":"5665:7:200","typeDescriptions":{}}}],"id":135450,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5664:9:200","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":135445,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5641:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5645:6:200","memberName":"decode","nodeType":"MemberAccess","src":"5641:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5641:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":135454,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"5684:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}],"id":135453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5676:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135452,"name":"address","nodeType":"ElementaryTypeName","src":"5676:7:200","typeDescriptions":{}}},"id":135455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5676:14:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135444,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"5632:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5632:59:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135457,"nodeType":"ExpressionStatement","src":"5632:59:200"}]},"functionSelector":"2cb6867d","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootWorld","nameLocation":"5462:28:200","parameters":{"id":135424,"nodeType":"ParameterList","parameters":[],"src":"5490:2:200"},"returnParameters":{"id":135425,"nodeType":"ParameterList","parameters":[],"src":"5500:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135493,"nodeType":"FunctionDefinition","src":"5700:240:200","nodes":[],"body":{"id":135492,"nodeType":"Block","src":"5746:194:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135465,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"5761:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135462,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"5752:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5755:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"5752:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5752:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135467,"nodeType":"ExpressionStatement","src":"5752:16:200"},{"assignments":[135469],"declarations":[{"constant":false,"id":135469,"mutability":"mutable","name":"returnData","nameLocation":"5787:10:200","nodeType":"VariableDeclaration","scope":135492,"src":"5774:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135468,"name":"bytes","nodeType":"ElementaryTypeName","src":"5774:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135480,"initialValue":{"arguments":[{"id":135471,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134986,"src":"5820:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135474,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"5850:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5861:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134914,"src":"5850:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":135476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5868:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":135477,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5867:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135472,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5835:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5839:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"5835:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5835:42:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135470,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135186,135238],"referencedDeclaration":135186,"src":"5800:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5800:78:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5774:104:200"},{"expression":{"arguments":[{"arguments":[{"id":135484,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135469,"src":"5904:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5917:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135485,"name":"string","nodeType":"ElementaryTypeName","src":"5917:6:200","typeDescriptions":{}}}],"id":135487,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5916:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135482,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5893:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5897:6:200","memberName":"decode","nodeType":"MemberAccess","src":"5893:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5893:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5927:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135481,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"5884:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5884:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135491,"nodeType":"ExpressionStatement","src":"5884:51:200"}]},"functionSelector":"055e33e8","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootEcho","nameLocation":"5709:27:200","parameters":{"id":135460,"nodeType":"ParameterList","parameters":[],"src":"5736:2:200"},"returnParameters":{"id":135461,"nodeType":"ParameterList","parameters":[],"src":"5746:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135539,"nodeType":"FunctionDefinition","src":"5944:437:200","nodes":[],"body":{"id":135538,"nodeType":"Block","src":"5999:382:200","nodes":[],"statements":[{"assignments":[135497],"declarations":[{"constant":false,"id":135497,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"6012:21:200","nodeType":"VariableDeclaration","scope":135538,"src":"6005:28:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":135496,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6005:6:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":135506,"initialValue":{"arguments":[{"id":135500,"name":"rootSystemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134986,"src":"6078:13:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":135501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6099:14:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":135502,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"6121:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6132:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134914,"src":"6121:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},"id":135504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6137:8:200","memberName":"selector","nodeType":"MemberAccess","src":"6121:24:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":135498,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"6036:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6042:28:200","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24513,"src":"6036:34:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":135505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6036:115:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"6005:146:200"},{"assignments":[135508],"declarations":[{"constant":false,"id":135508,"mutability":"mutable","name":"callData","nameLocation":"6170:8:200","nodeType":"VariableDeclaration","scope":135538,"src":"6157:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135507,"name":"bytes","nodeType":"ElementaryTypeName","src":"6157:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135514,"initialValue":{"arguments":[{"id":135511,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135497,"src":"6204:21:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":135512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6227:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135509,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6181:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6185:18:200","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6181:22:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":135513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6181:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6157:78:200"},{"expression":{"arguments":[{"id":135518,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"6251:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135515,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"6242:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6245:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"6242:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6242:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135520,"nodeType":"ExpressionStatement","src":"6242:16:200"},{"assignments":[135522],"declarations":[{"constant":false,"id":135522,"mutability":"mutable","name":"returnData","nameLocation":"6277:10:200","nodeType":"VariableDeclaration","scope":135538,"src":"6264:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135521,"name":"bytes","nodeType":"ElementaryTypeName","src":"6264:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135526,"initialValue":{"arguments":[{"id":135524,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135508,"src":"6310:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135523,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135186,135238],"referencedDeclaration":135238,"src":"6290:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":135525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6290:29:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6264:55:200"},{"expression":{"arguments":[{"arguments":[{"id":135530,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135522,"src":"6345:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6358:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135531,"name":"string","nodeType":"ElementaryTypeName","src":"6358:6:200","typeDescriptions":{}}}],"id":135533,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6357:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135528,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6334:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6338:6:200","memberName":"decode","nodeType":"MemberAccess","src":"6334:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6334:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6368:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135527,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"6325:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6325:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135537,"nodeType":"ExpressionStatement","src":"6325:51:200"}]},"functionSelector":"c0310bf6","implemented":true,"kind":"function","modifiers":[],"name":"testCallRootFromNonRootWorldSelector","nameLocation":"5953:36:200","parameters":{"id":135494,"nodeType":"ParameterList","parameters":[],"src":"5989:2:200"},"returnParameters":{"id":135495,"nodeType":"ParameterList","parameters":[],"src":"5999:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135572,"nodeType":"FunctionDefinition","src":"6492:243:200","nodes":[],"body":{"id":135571,"nodeType":"Block","src":"6543:192:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135545,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"6558:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135542,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"6549:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6552:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"6549:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6549:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135547,"nodeType":"ExpressionStatement","src":"6549:16:200"},{"assignments":[135549],"declarations":[{"constant":false,"id":135549,"mutability":"mutable","name":"returnData","nameLocation":"6584:10:200","nodeType":"VariableDeclaration","scope":135571,"src":"6571:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135548,"name":"bytes","nodeType":"ElementaryTypeName","src":"6571:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135559,"initialValue":{"arguments":[{"id":135551,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134980,"src":"6621:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135554,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"6647:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6658:9:200","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":134895,"src":"6647:20:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":135556,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6669:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135552,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6632:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6636:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"6632:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6632:40:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135550,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135156,135212],"referencedDeclaration":135156,"src":"6597:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6597:76:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6571:102:200"},{"expression":{"arguments":[{"arguments":[{"id":135563,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135549,"src":"6699:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6712:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135564,"name":"address","nodeType":"ElementaryTypeName","src":"6712:7:200","typeDescriptions":{}}}],"id":135566,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6711:9:200","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":135561,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6688:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6692:6:200","memberName":"decode","nodeType":"MemberAccess","src":"6688:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6688:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":135568,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"6723:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135560,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"6679:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6679:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135570,"nodeType":"ExpressionStatement","src":"6679:51:200"}]},"functionSelector":"5af8de30","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromRootMsgSender","nameLocation":"6501:32:200","parameters":{"id":135540,"nodeType":"ParameterList","parameters":[],"src":"6533:2:200"},"returnParameters":{"id":135541,"nodeType":"ParameterList","parameters":[],"src":"6543:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135608,"nodeType":"FunctionDefinition","src":"6739:243:200","nodes":[],"body":{"id":135607,"nodeType":"Block","src":"6786:196:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135578,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"6801:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135575,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"6792:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6795:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"6792:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6792:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135580,"nodeType":"ExpressionStatement","src":"6792:16:200"},{"assignments":[135582],"declarations":[{"constant":false,"id":135582,"mutability":"mutable","name":"returnData","nameLocation":"6827:10:200","nodeType":"VariableDeclaration","scope":135607,"src":"6814:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135581,"name":"bytes","nodeType":"ElementaryTypeName","src":"6814:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135592,"initialValue":{"arguments":[{"id":135584,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134980,"src":"6864:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135587,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"6890:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6901:5:200","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":134904,"src":"6890:16:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":135589,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6908:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135585,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6875:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6879:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"6875:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6875:36:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135583,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135156,135212],"referencedDeclaration":135156,"src":"6840:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6840:72:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6814:98:200"},{"expression":{"arguments":[{"arguments":[{"id":135596,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135582,"src":"6938:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6951:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135597,"name":"address","nodeType":"ElementaryTypeName","src":"6951:7:200","typeDescriptions":{}}}],"id":135599,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6950:9:200","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":135594,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6927:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6931:6:200","memberName":"decode","nodeType":"MemberAccess","src":"6927:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6927:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":135603,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"6970:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}],"id":135602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6962:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135601,"name":"address","nodeType":"ElementaryTypeName","src":"6962:7:200","typeDescriptions":{}}},"id":135604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6962:14:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135593,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"6918:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6918:59:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135606,"nodeType":"ExpressionStatement","src":"6918:59:200"}]},"functionSelector":"85dc0868","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromRootWorld","nameLocation":"6748:28:200","parameters":{"id":135573,"nodeType":"ParameterList","parameters":[],"src":"6776:2:200"},"returnParameters":{"id":135574,"nodeType":"ParameterList","parameters":[],"src":"6786:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135642,"nodeType":"FunctionDefinition","src":"6986:240:200","nodes":[],"body":{"id":135641,"nodeType":"Block","src":"7032:194:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135614,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"7047:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135611,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"7038:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7041:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"7038:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7038:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135616,"nodeType":"ExpressionStatement","src":"7038:16:200"},{"assignments":[135618],"declarations":[{"constant":false,"id":135618,"mutability":"mutable","name":"returnData","nameLocation":"7073:10:200","nodeType":"VariableDeclaration","scope":135641,"src":"7060:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135617,"name":"bytes","nodeType":"ElementaryTypeName","src":"7060:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135629,"initialValue":{"arguments":[{"id":135620,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134980,"src":"7110:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135623,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"7136:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135624,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7147:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134914,"src":"7136:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":135625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7154:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":135626,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7153:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135621,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7121:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7125:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"7121:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7121:42:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135619,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135156,135212],"referencedDeclaration":135156,"src":"7086:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7086:78:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7060:104:200"},{"expression":{"arguments":[{"arguments":[{"id":135633,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135618,"src":"7190:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7203:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135634,"name":"string","nodeType":"ElementaryTypeName","src":"7203:6:200","typeDescriptions":{}}}],"id":135636,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7202:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135631,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7179:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7183:6:200","memberName":"decode","nodeType":"MemberAccess","src":"7179:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7179:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7213:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135630,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"7170:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7170:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135640,"nodeType":"ExpressionStatement","src":"7170:51:200"}]},"functionSelector":"32d7d505","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromRootEcho","nameLocation":"6995:27:200","parameters":{"id":135609,"nodeType":"ParameterList","parameters":[],"src":"7022:2:200"},"returnParameters":{"id":135610,"nodeType":"ParameterList","parameters":[],"src":"7032:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135688,"nodeType":"FunctionDefinition","src":"7230:437:200","nodes":[],"body":{"id":135687,"nodeType":"Block","src":"7285:382:200","nodes":[],"statements":[{"assignments":[135646],"declarations":[{"constant":false,"id":135646,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"7298:21:200","nodeType":"VariableDeclaration","scope":135687,"src":"7291:28:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":135645,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7291:6:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":135655,"initialValue":{"arguments":[{"id":135649,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134980,"src":"7364:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":135650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7381:14:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":135651,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"7403:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7414:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134914,"src":"7403:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},"id":135653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7419:8:200","memberName":"selector","nodeType":"MemberAccess","src":"7403:24:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":135647,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"7322:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7328:28:200","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24513,"src":"7322:34:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":135654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7322:111:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"7291:142:200"},{"assignments":[135657],"declarations":[{"constant":false,"id":135657,"mutability":"mutable","name":"callData","nameLocation":"7452:8:200","nodeType":"VariableDeclaration","scope":135687,"src":"7439:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135656,"name":"bytes","nodeType":"ElementaryTypeName","src":"7439:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135663,"initialValue":{"arguments":[{"id":135660,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135646,"src":"7486:21:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":135661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7509:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135658,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7463:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7467:18:200","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7463:22:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":135662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7463:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7439:78:200"},{"expression":{"arguments":[{"id":135667,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"7533:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135664,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"7524:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7527:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"7524:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7524:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135669,"nodeType":"ExpressionStatement","src":"7524:16:200"},{"assignments":[135671],"declarations":[{"constant":false,"id":135671,"mutability":"mutable","name":"returnData","nameLocation":"7559:10:200","nodeType":"VariableDeclaration","scope":135687,"src":"7546:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135670,"name":"bytes","nodeType":"ElementaryTypeName","src":"7546:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135675,"initialValue":{"arguments":[{"id":135673,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135657,"src":"7596:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135672,"name":"_executeFromRootSystemA","nodeType":"Identifier","overloadedDeclarations":[135156,135212],"referencedDeclaration":135212,"src":"7572:23:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":135674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7572:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7546:59:200"},{"expression":{"arguments":[{"arguments":[{"id":135679,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135671,"src":"7631:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7644:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135680,"name":"string","nodeType":"ElementaryTypeName","src":"7644:6:200","typeDescriptions":{}}}],"id":135682,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7643:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135677,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7620:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7624:6:200","memberName":"decode","nodeType":"MemberAccess","src":"7620:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7620:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7654:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135676,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"7611:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7611:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135686,"nodeType":"ExpressionStatement","src":"7611:51:200"}]},"functionSelector":"2f2499f4","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromRootWorldSelector","nameLocation":"7239:36:200","parameters":{"id":135643,"nodeType":"ParameterList","parameters":[],"src":"7275:2:200"},"returnParameters":{"id":135644,"nodeType":"ParameterList","parameters":[],"src":"7285:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135724,"nodeType":"FunctionDefinition","src":"7782:252:200","nodes":[],"body":{"id":135723,"nodeType":"Block","src":"7836:198:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135694,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"7851:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135691,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"7842:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7845:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"7842:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7842:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135696,"nodeType":"ExpressionStatement","src":"7842:16:200"},{"assignments":[135698],"declarations":[{"constant":false,"id":135698,"mutability":"mutable","name":"returnData","nameLocation":"7877:10:200","nodeType":"VariableDeclaration","scope":135723,"src":"7864:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135697,"name":"bytes","nodeType":"ElementaryTypeName","src":"7864:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135708,"initialValue":{"arguments":[{"id":135700,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134980,"src":"7910:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135703,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"7936:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135704,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7947:9:200","memberName":"msgSender","nodeType":"MemberAccess","referencedDeclaration":134895,"src":"7936:20:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"}},{"components":[],"id":135705,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7958:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.msgSender() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135701,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7921:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7925:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"7921:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7921:40:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135699,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135186,135238],"referencedDeclaration":135186,"src":"7890:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7890:72:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7864:98:200"},{"expression":{"arguments":[{"arguments":[{"id":135712,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135698,"src":"7988:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8001:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135713,"name":"address","nodeType":"ElementaryTypeName","src":"8001:7:200","typeDescriptions":{}}}],"id":135715,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8000:9:200","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":135710,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7977:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7981:6:200","memberName":"decode","nodeType":"MemberAccess","src":"7977:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7977:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":135719,"name":"systemA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134965,"src":"8020:7:200","typeDescriptions":{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EchoSystem_$134945","typeString":"contract EchoSystem"}],"id":135718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8012:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135717,"name":"address","nodeType":"ElementaryTypeName","src":"8012:7:200","typeDescriptions":{}}},"id":135720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8012:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135709,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"7968:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:61:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135722,"nodeType":"ExpressionStatement","src":"7968:61:200"}]},"functionSelector":"8d95e4d6","implemented":true,"kind":"function","modifiers":[],"name":"testCallNonRootFromNonRootMsgSender","nameLocation":"7791:35:200","parameters":{"id":135689,"nodeType":"ParameterList","parameters":[],"src":"7826:2:200"},"returnParameters":{"id":135690,"nodeType":"ParameterList","parameters":[],"src":"7836:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135760,"nodeType":"FunctionDefinition","src":"8038:242:200","nodes":[],"body":{"id":135759,"nodeType":"Block","src":"8088:192:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135730,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"8103:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135727,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"8094:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8097:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"8094:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8094:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135732,"nodeType":"ExpressionStatement","src":"8094:16:200"},{"assignments":[135734],"declarations":[{"constant":false,"id":135734,"mutability":"mutable","name":"returnData","nameLocation":"8129:10:200","nodeType":"VariableDeclaration","scope":135759,"src":"8116:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135733,"name":"bytes","nodeType":"ElementaryTypeName","src":"8116:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135744,"initialValue":{"arguments":[{"id":135736,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134980,"src":"8162:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135739,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"8188:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8199:5:200","memberName":"world","nodeType":"MemberAccess","referencedDeclaration":134904,"src":"8188:16:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"}},{"components":[],"id":135741,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8206:2:200","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$__$returns$_t_address_$","typeString":"function EchoSystem.world() view returns (address)"},{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}],"expression":{"id":135737,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8173:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8177:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"8173:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8173:36:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135735,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135186,135238],"referencedDeclaration":135186,"src":"8142:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8142:68:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8116:94:200"},{"expression":{"arguments":[{"arguments":[{"id":135748,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135734,"src":"8236:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8249:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135749,"name":"address","nodeType":"ElementaryTypeName","src":"8249:7:200","typeDescriptions":{}}}],"id":135751,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8248:9:200","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":135746,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8225:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135747,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8229:6:200","memberName":"decode","nodeType":"MemberAccess","src":"8225:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8225:33:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[{"id":135755,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"8268:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}],"id":135754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8260:7:200","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":135753,"name":"address","nodeType":"ElementaryTypeName","src":"8260:7:200","typeDescriptions":{}}},"id":135756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8260:14:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":135745,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":47234,"src":"8216:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":135757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8216:59:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135758,"nodeType":"ExpressionStatement","src":"8216:59:200"}]},"functionSelector":"4478d618","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromNonRootWorld","nameLocation":"8047:31:200","parameters":{"id":135725,"nodeType":"ParameterList","parameters":[],"src":"8078:2:200"},"returnParameters":{"id":135726,"nodeType":"ParameterList","parameters":[],"src":"8088:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135794,"nodeType":"FunctionDefinition","src":"8284:239:200","nodes":[],"body":{"id":135793,"nodeType":"Block","src":"8333:190:200","nodes":[],"statements":[{"expression":{"arguments":[{"id":135766,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"8348:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135763,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"8339:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8342:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"8339:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8339:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135768,"nodeType":"ExpressionStatement","src":"8339:16:200"},{"assignments":[135770],"declarations":[{"constant":false,"id":135770,"mutability":"mutable","name":"returnData","nameLocation":"8374:10:200","nodeType":"VariableDeclaration","scope":135793,"src":"8361:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135769,"name":"bytes","nodeType":"ElementaryTypeName","src":"8361:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135781,"initialValue":{"arguments":[{"id":135772,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134980,"src":"8407:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"arguments":[{"expression":{"id":135775,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"8433:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135776,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8444:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134914,"src":"8433:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},{"components":[{"hexValue":"68656c6c6f","id":135777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8451:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"id":135778,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8450:9:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135773,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8418:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135774,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8422:10:200","memberName":"encodeCall","nodeType":"MemberAccess","src":"8418:14:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":135779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8418:42:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135771,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135186,135238],"referencedDeclaration":135186,"src":"8387:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (ResourceId,bytes memory) returns (bytes memory)"}},"id":135780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8387:74:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8361:100:200"},{"expression":{"arguments":[{"arguments":[{"id":135785,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135770,"src":"8487:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8500:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135786,"name":"string","nodeType":"ElementaryTypeName","src":"8500:6:200","typeDescriptions":{}}}],"id":135788,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8499:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8476:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8480:6:200","memberName":"decode","nodeType":"MemberAccess","src":"8476:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8476:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8510:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135782,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"8467:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8467:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135792,"nodeType":"ExpressionStatement","src":"8467:51:200"}]},"functionSelector":"aec62e14","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromNonRootEcho","nameLocation":"8293:30:200","parameters":{"id":135761,"nodeType":"ParameterList","parameters":[],"src":"8323:2:200"},"returnParameters":{"id":135762,"nodeType":"ParameterList","parameters":[],"src":"8333:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135840,"nodeType":"FunctionDefinition","src":"8527:436:200","nodes":[],"body":{"id":135839,"nodeType":"Block","src":"8585:378:200","nodes":[],"statements":[{"assignments":[135798],"declarations":[{"constant":false,"id":135798,"mutability":"mutable","name":"worldFunctionSelector","nameLocation":"8598:21:200","nodeType":"VariableDeclaration","scope":135839,"src":"8591:28:200","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":135797,"name":"bytes4","nodeType":"ElementaryTypeName","src":"8591:6:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":135807,"initialValue":{"arguments":[{"id":135801,"name":"systemBId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134980,"src":"8664:9:200","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"}},{"hexValue":"6563686f28737472696e6729","id":135802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8681:14:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},"value":"echo(string)"},{"expression":{"expression":{"id":135803,"name":"EchoSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134945,"src":"8703:10:200","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EchoSystem_$134945_$","typeString":"type(contract EchoSystem)"}},"id":135804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8714:4:200","memberName":"echo","nodeType":"MemberAccess","referencedDeclaration":134914,"src":"8703:15:200","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function EchoSystem.echo(string memory) view returns (string memory)"}},"id":135805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8719:8:200","memberName":"selector","nodeType":"MemberAccess","src":"8703:24:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$2782","typeString":"ResourceId"},{"typeIdentifier":"t_stringliteral_f15da729ec5b36e9bda8b3f71979cdac5d0f3169f8590778ac0cd82cc5cc1d4a","typeString":"literal_string \"echo(string)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":135799,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134962,"src":"8622:5:200","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$24400","typeString":"contract IBaseWorld"}},"id":135800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8628:28:200","memberName":"registerRootFunctionSelector","nodeType":"MemberAccess","referencedDeclaration":24513,"src":"8622:34:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$2782_$_t_string_memory_ptr_$_t_bytes4_$returns$_t_bytes4_$","typeString":"function (ResourceId,string memory,bytes4) external returns (bytes4)"}},"id":135806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8622:111:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"8591:142:200"},{"assignments":[135809],"declarations":[{"constant":false,"id":135809,"mutability":"mutable","name":"callData","nameLocation":"8752:8:200","nodeType":"VariableDeclaration","scope":135839,"src":"8739:21:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135808,"name":"bytes","nodeType":"ElementaryTypeName","src":"8739:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135815,"initialValue":{"arguments":[{"id":135812,"name":"worldFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135798,"src":"8786:21:200","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"hexValue":"68656c6c6f","id":135813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8809:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"expression":{"id":135810,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8763:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8767:18:200","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8763:22:200","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":135814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8763:54:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8739:78:200"},{"expression":{"arguments":[{"id":135819,"name":"caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134951,"src":"8833:6:200","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":135816,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"8824:2:200","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$60339","typeString":"contract Vm"}},"id":135818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8827:5:200","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":59937,"src":"8824:8:200","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":135820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8824:16:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135821,"nodeType":"ExpressionStatement","src":"8824:16:200"},{"assignments":[135823],"declarations":[{"constant":false,"id":135823,"mutability":"mutable","name":"returnData","nameLocation":"8859:10:200","nodeType":"VariableDeclaration","scope":135839,"src":"8846:23:200","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":135822,"name":"bytes","nodeType":"ElementaryTypeName","src":"8846:5:200","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":135827,"initialValue":{"arguments":[{"id":135825,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135809,"src":"8892:8:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":135824,"name":"_executeFromSystemA","nodeType":"Identifier","overloadedDeclarations":[135186,135238],"referencedDeclaration":135238,"src":"8872:19:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bytes memory)"}},"id":135826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8872:29:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"8846:55:200"},{"expression":{"arguments":[{"arguments":[{"id":135831,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135823,"src":"8927:10:200","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":135833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8940:6:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":135832,"name":"string","nodeType":"ElementaryTypeName","src":"8940:6:200","typeDescriptions":{}}}],"id":135834,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8939:8:200","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"}],"expression":{"id":135829,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8916:3:200","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":135830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8920:6:200","memberName":"decode","nodeType":"MemberAccess","src":"8916:10:200","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":135835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8916:32:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"68656c6c6f","id":135836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8950:7:200","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""},"value":"hello"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8","typeString":"literal_string \"hello\""}],"id":135828,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[49399,49424,49437,49453,49495,49537,49579,49616,49653,49690,47234,47259,47289,47314,47373,47398,47428,47453,48926,48961],"referencedDeclaration":48926,"src":"8907:8:200","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":135837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8907:51:200","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":135838,"nodeType":"ExpressionStatement","src":"8907:51:200"}]},"functionSelector":"54dcf132","implemented":true,"kind":"function","modifiers":[],"name":"testNonCallRootFromNonRootWorldSelector","nameLocation":"8536:39:200","parameters":{"id":135795,"nodeType":"ParameterList","parameters":[],"src":"8575:2:200"},"returnParameters":{"id":135796,"nodeType":"ParameterList","parameters":[],"src":"8585:0:200"},"scope":135841,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":134952,"name":"Test","nameLocations":["1432:4:200"],"nodeType":"IdentifierPath","referencedDeclaration":58812,"src":"1432:4:200"},"id":134953,"nodeType":"InheritanceSpecifier","src":"1432:4:200"},{"baseName":{"id":134954,"name":"GasReporter","nameLocations":["1438:11:200"],"nodeType":"IdentifierPath","referencedDeclaration":226,"src":"1438:11:200"},"id":134955,"nodeType":"InheritanceSpecifier","src":"1438:11:200"}],"canonicalName":"SystemSwitchTest","contractDependencies":[23730,35431,35451,35650,35830,36019,134945],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[135841,226,58812,49271,49268,58761,54499,54209,53445,51391,50698,49205],"name":"SystemSwitchTest","nameLocation":"1412:16:200","scope":135842,"usedErrors":[],"usedEvents":[46919,46923,46927,46931,46935,46939,46943,46947,46953,46959,46967,46975,46981,46987,46993,46999,49293,49298,49303,49310,49317,49324]}],"license":"MIT"},"id":200}