{"abi":[],"bytecode":{"object":"0x","linkReferences":{}},"deployedBytecode":{"object":"0x","linkReferences":{}},"ast":{"absolutePath":"src/libraries/LibUtils.sol","id":177026,"exportedSymbols":{"Admin":[88189],"LevelPositionIndex":[117247],"LevelTemplatesIndex":[120591],"Match":[121867],"MatchConfig":[125136],"MatchConfigData":[123356],"MatchIndex":[126990],"MatchIndexToEntity":[127656],"MatchPlayer":[130570],"OwnedBy":[146308],"Player":[147014],"Position":[148876],"PositionData":[147750],"SkyPoolConfig":[155597],"SpawnPoint":[156321],"SpawnSettlementTemplateId":[169692],"addressToEntity":[176702],"entityToAddress":[176721],"entityToKeyTuple":[176752],"getIndicesAtPosition":[177010],"getLevelSpawnIndices":[177025],"getMatch":[176835],"getOwningPlayer":[176908],"isAdmin":[176648],"isOwnedBy":[176988],"isOwnedByAddress":[176938],"manhattan":[176822],"matchHasStarted":[176859],"max":[176682],"min":[176665],"playerFromAddress":[176768]},"nodeType":"SourceUnit","src":"38:2969:304","nodes":[{"id":176617,"nodeType":"PragmaDirective","src":"38:25:304","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":176633,"nodeType":"ImportDirective","src":"65:236:304","nodes":[],"absolutePath":"src/codegen/index.sol","file":"../codegen/index.sol","nameLocation":"-1:-1:-1","scope":177026,"sourceUnit":87483,"symbolAliases":[{"foreign":{"id":176618,"name":"Position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":148876,"src":"74:8:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176619,"name":"PositionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147750,"src":"84:12:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176620,"name":"Admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88189,"src":"98:5:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176621,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"105:7:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176622,"name":"Match","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":121867,"src":"114:5:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176623,"name":"MatchConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":125136,"src":"121:11:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176624,"name":"MatchConfigData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":123356,"src":"134:15:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176625,"name":"SpawnPoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":156321,"src":"151:10:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176626,"name":"Player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147014,"src":"163:6:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176627,"name":"MatchPlayer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130570,"src":"171:11:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176628,"name":"LevelPositionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":117247,"src":"184:18:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176629,"name":"MatchIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126990,"src":"204:10:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176630,"name":"MatchIndexToEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127656,"src":"216:18:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176631,"name":"LevelTemplatesIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120591,"src":"236:19:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":176632,"name":"SkyPoolConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":155597,"src":"257:13:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":176635,"nodeType":"ImportDirective","src":"302:69:304","nodes":[],"absolutePath":"src/codegen/Templates.sol","file":"../codegen/Templates.sol","nameLocation":"-1:-1:-1","scope":177026,"sourceUnit":87281,"symbolAliases":[{"foreign":{"id":176634,"name":"SpawnSettlementTemplateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169692,"src":"311:25:304","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":176648,"nodeType":"FunctionDefinition","src":"373:78:304","nodes":[],"body":{"id":176647,"nodeType":"Block","src":"423:28:304","nodes":[],"statements":[{"expression":{"arguments":[{"id":176644,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176637,"src":"444:3:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":176642,"name":"Admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88189,"src":"434:5:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Admin_$88189_$","typeString":"type(library Admin)"}},"id":176643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"440:3:304","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":87843,"src":"434:9:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":176645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"434:14:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":176641,"id":176646,"nodeType":"Return","src":"427:21:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"isAdmin","nameLocation":"382:7:304","parameters":{"id":176638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176637,"mutability":"mutable","name":"key","nameLocation":"398:3:304","nodeType":"VariableDeclaration","scope":176648,"src":"390:11:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"390:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"389:13:304"},"returnParameters":{"id":176641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176640,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":176648,"src":"417:4:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":176639,"name":"bool","nodeType":"ElementaryTypeName","src":"417:4:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"416:6:304"},"scope":177026,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":176665,"nodeType":"FunctionDefinition","src":"453:79:304","nodes":[],"body":{"id":176664,"nodeType":"Block","src":"505:27:304","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":176659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":176657,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176650,"src":"516:1:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":176658,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176652,"src":"520:1:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"516:5:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":176661,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176652,"src":"528:1:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":176662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"516:13:304","trueExpression":{"id":176660,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176650,"src":"524:1:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"functionReturnParameters":176656,"id":176663,"nodeType":"Return","src":"509:20:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"min","nameLocation":"462:3:304","parameters":{"id":176653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176650,"mutability":"mutable","name":"a","nameLocation":"472:1:304","nodeType":"VariableDeclaration","scope":176665,"src":"466:7:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":176649,"name":"int32","nodeType":"ElementaryTypeName","src":"466:5:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":176652,"mutability":"mutable","name":"b","nameLocation":"481:1:304","nodeType":"VariableDeclaration","scope":176665,"src":"475:7:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":176651,"name":"int32","nodeType":"ElementaryTypeName","src":"475:5:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"465:18:304"},"returnParameters":{"id":176656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176655,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":176665,"src":"498:5:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":176654,"name":"int32","nodeType":"ElementaryTypeName","src":"498:5:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"497:7:304"},"scope":177026,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":176682,"nodeType":"FunctionDefinition","src":"534:79:304","nodes":[],"body":{"id":176681,"nodeType":"Block","src":"586:27:304","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":176676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":176674,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176667,"src":"597:1:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":176675,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176669,"src":"601:1:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"597:5:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":176678,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176669,"src":"609:1:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":176679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"597:13:304","trueExpression":{"id":176677,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176667,"src":"605:1:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"functionReturnParameters":176673,"id":176680,"nodeType":"Return","src":"590:20:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"max","nameLocation":"543:3:304","parameters":{"id":176670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176667,"mutability":"mutable","name":"a","nameLocation":"553:1:304","nodeType":"VariableDeclaration","scope":176682,"src":"547:7:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":176666,"name":"int32","nodeType":"ElementaryTypeName","src":"547:5:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":176669,"mutability":"mutable","name":"b","nameLocation":"562:1:304","nodeType":"VariableDeclaration","scope":176682,"src":"556:7:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":176668,"name":"int32","nodeType":"ElementaryTypeName","src":"556:5:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"546:18:304"},"returnParameters":{"id":176673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176672,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":176682,"src":"579:5:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":176671,"name":"int32","nodeType":"ElementaryTypeName","src":"579:5:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"578:7:304"},"scope":177026,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":176702,"nodeType":"FunctionDefinition","src":"615:103:304","nodes":[],"body":{"id":176701,"nodeType":"Block","src":"674:44:304","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"components":[{"id":176695,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176684,"src":"710:1:304","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":176696,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"709:3:304","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":176694,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"701:7:304","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":176693,"name":"uint160","nodeType":"ElementaryTypeName","src":"701:7:304","typeDescriptions":{}}},"id":176697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"701:12:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":176692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"693:7:304","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":176691,"name":"uint256","nodeType":"ElementaryTypeName","src":"693:7:304","typeDescriptions":{}}},"id":176698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"693:21:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":176690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"685:7:304","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":176689,"name":"bytes32","nodeType":"ElementaryTypeName","src":"685:7:304","typeDescriptions":{}}},"id":176699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"685:30:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":176688,"id":176700,"nodeType":"Return","src":"678:37:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"addressToEntity","nameLocation":"624:15:304","parameters":{"id":176685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176684,"mutability":"mutable","name":"a","nameLocation":"648:1:304","nodeType":"VariableDeclaration","scope":176702,"src":"640:9:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":176683,"name":"address","nodeType":"ElementaryTypeName","src":"640:7:304","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"639:11:304"},"returnParameters":{"id":176688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176687,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":176702,"src":"665:7:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176686,"name":"bytes32","nodeType":"ElementaryTypeName","src":"665:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"664:9:304"},"scope":177026,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":176721,"nodeType":"FunctionDefinition","src":"720:109:304","nodes":[],"body":{"id":176720,"nodeType":"Block","src":"783:46:304","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":176715,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176704,"src":"818:5:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":176714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"810:7:304","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":176713,"name":"uint256","nodeType":"ElementaryTypeName","src":"810:7:304","typeDescriptions":{}}},"id":176716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"810:14:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":176712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"802:7:304","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":176711,"name":"uint160","nodeType":"ElementaryTypeName","src":"802:7:304","typeDescriptions":{}}},"id":176717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"802:23:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":176710,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"794:7:304","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":176709,"name":"address","nodeType":"ElementaryTypeName","src":"794:7:304","typeDescriptions":{}}},"id":176718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"794:32:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":176708,"id":176719,"nodeType":"Return","src":"787:39:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"entityToAddress","nameLocation":"729:15:304","parameters":{"id":176705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176704,"mutability":"mutable","name":"value","nameLocation":"753:5:304","nodeType":"VariableDeclaration","scope":176721,"src":"745:13:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"745:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"744:15:304"},"returnParameters":{"id":176708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176707,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":176721,"src":"774:7:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":176706,"name":"address","nodeType":"ElementaryTypeName","src":"774:7:304","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"773:9:304"},"scope":177026,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":176752,"nodeType":"FunctionDefinition","src":"831:191:304","nodes":[],"body":{"id":176751,"nodeType":"Block","src":"935:87:304","nodes":[],"statements":[{"expression":{"id":176737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":176731,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176729,"src":"939:8:304","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":176735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"964:1:304","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":176734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"950:13:304","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes32[] memory)"},"typeName":{"baseType":{"id":176732,"name":"bytes32","nodeType":"ElementaryTypeName","src":"954:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":176733,"nodeType":"ArrayTypeName","src":"954:9:304","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}}},"id":176736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"950:16:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"939:27:304","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":176738,"nodeType":"ExpressionStatement","src":"939:27:304"},{"expression":{"id":176743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":176739,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176729,"src":"970:8:304","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":176741,"indexExpression":{"hexValue":"30","id":176740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"979:1:304","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"970:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":176742,"name":"matchEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176723,"src":"984:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"970:25:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":176744,"nodeType":"ExpressionStatement","src":"970:25:304"},{"expression":{"id":176749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":176745,"name":"keyTuple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176729,"src":"999:8:304","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":176747,"indexExpression":{"hexValue":"31","id":176746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1008:1:304","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"999:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":176748,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176725,"src":"1013:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"999:20:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":176750,"nodeType":"ExpressionStatement","src":"999:20:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"entityToKeyTuple","nameLocation":"840:16:304","parameters":{"id":176726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176723,"mutability":"mutable","name":"matchEntity","nameLocation":"865:11:304","nodeType":"VariableDeclaration","scope":176752,"src":"857:19:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"857:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":176725,"mutability":"mutable","name":"entity","nameLocation":"886:6:304","nodeType":"VariableDeclaration","scope":176752,"src":"878:14:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176724,"name":"bytes32","nodeType":"ElementaryTypeName","src":"878:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"856:37:304"},"returnParameters":{"id":176730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176729,"mutability":"mutable","name":"keyTuple","nameLocation":"925:8:304","nodeType":"VariableDeclaration","scope":176752,"src":"908:25:304","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":176727,"name":"bytes32","nodeType":"ElementaryTypeName","src":"908:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":176728,"nodeType":"ArrayTypeName","src":"908:9:304","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"907:27:304"},"scope":177026,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":176768,"nodeType":"FunctionDefinition","src":"1024:151:304","nodes":[],"body":{"id":176767,"nodeType":"Block","src":"1118:57:304","nodes":[],"statements":[{"expression":{"arguments":[{"id":176763,"name":"matchEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176754,"src":"1145:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":176764,"name":"playerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176756,"src":"1158:13:304","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":176761,"name":"MatchPlayer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130570,"src":"1129:11:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MatchPlayer_$130570_$","typeString":"type(library MatchPlayer)"}},"id":176762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1141:3:304","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":130093,"src":"1129:15:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bytes32_$","typeString":"function (bytes32,address) view returns (bytes32)"}},"id":176765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1129:43:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":176760,"id":176766,"nodeType":"Return","src":"1122:50:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"playerFromAddress","nameLocation":"1033:17:304","parameters":{"id":176757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176754,"mutability":"mutable","name":"matchEntity","nameLocation":"1059:11:304","nodeType":"VariableDeclaration","scope":176768,"src":"1051:19:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1051:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":176756,"mutability":"mutable","name":"playerAddress","nameLocation":"1080:13:304","nodeType":"VariableDeclaration","scope":176768,"src":"1072:21:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":176755,"name":"address","nodeType":"ElementaryTypeName","src":"1072:7:304","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1050:44:304"},"returnParameters":{"id":176760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176759,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":176768,"src":"1109:7:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1109:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1108:9:304"},"scope":177026,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":176822,"nodeType":"FunctionDefinition","src":"1177:203:304","nodes":[],"body":{"id":176821,"nodeType":"Block","src":"1263:117:304","nodes":[],"statements":[{"assignments":[176780],"declarations":[{"constant":false,"id":176780,"mutability":"mutable","name":"dx","nameLocation":"1273:2:304","nodeType":"VariableDeclaration","scope":176821,"src":"1267:8:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":176779,"name":"int32","nodeType":"ElementaryTypeName","src":"1267:5:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":176797,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":176785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":176781,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176771,"src":"1278:1:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":176782,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1280:1:304","memberName":"x","nodeType":"MemberAccess","referencedDeclaration":147747,"src":"1278:3:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":176783,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176774,"src":"1284:1:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":176784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1286:1:304","memberName":"x","nodeType":"MemberAccess","referencedDeclaration":147747,"src":"1284:3:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"1278:9:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":176795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":176791,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176774,"src":"1302:1:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":176792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1304:1:304","memberName":"x","nodeType":"MemberAccess","referencedDeclaration":147747,"src":"1302:3:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":176793,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176771,"src":"1308:1:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":176794,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1310:1:304","memberName":"x","nodeType":"MemberAccess","referencedDeclaration":147747,"src":"1308:3:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"1302:9:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":176796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1278:33:304","trueExpression":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":176790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":176786,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176771,"src":"1290:1:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":176787,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1292:1:304","memberName":"x","nodeType":"MemberAccess","referencedDeclaration":147747,"src":"1290:3:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":176788,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176774,"src":"1296:1:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":176789,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1298:1:304","memberName":"x","nodeType":"MemberAccess","referencedDeclaration":147747,"src":"1296:3:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"1290:9:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"1267:44:304"},{"assignments":[176799],"declarations":[{"constant":false,"id":176799,"mutability":"mutable","name":"dy","nameLocation":"1321:2:304","nodeType":"VariableDeclaration","scope":176821,"src":"1315:8:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":176798,"name":"int32","nodeType":"ElementaryTypeName","src":"1315:5:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":176816,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":176804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":176800,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176771,"src":"1326:1:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":176801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1328:1:304","memberName":"y","nodeType":"MemberAccess","referencedDeclaration":147749,"src":"1326:3:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":176802,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176774,"src":"1332:1:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":176803,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1334:1:304","memberName":"y","nodeType":"MemberAccess","referencedDeclaration":147749,"src":"1332:3:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"1326:9:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":176814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":176810,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176774,"src":"1350:1:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":176811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1352:1:304","memberName":"y","nodeType":"MemberAccess","referencedDeclaration":147749,"src":"1350:3:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":176812,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176771,"src":"1356:1:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":176813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1358:1:304","memberName":"y","nodeType":"MemberAccess","referencedDeclaration":147749,"src":"1356:3:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"1350:9:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":176815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1326:33:304","trueExpression":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":176809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":176805,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176771,"src":"1338:1:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":176806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1340:1:304","memberName":"y","nodeType":"MemberAccess","referencedDeclaration":147749,"src":"1338:3:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":176807,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176774,"src":"1344:1:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":176808,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1346:1:304","memberName":"y","nodeType":"MemberAccess","referencedDeclaration":147749,"src":"1344:3:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"1338:9:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"1315:44:304"},{"expression":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":176819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":176817,"name":"dx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176780,"src":"1370:2:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":176818,"name":"dy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176799,"src":"1375:2:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"1370:7:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"functionReturnParameters":176778,"id":176820,"nodeType":"Return","src":"1363:14:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"manhattan","nameLocation":"1186:9:304","parameters":{"id":176775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176771,"mutability":"mutable","name":"a","nameLocation":"1216:1:304","nodeType":"VariableDeclaration","scope":176822,"src":"1196:21:304","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData"},"typeName":{"id":176770,"nodeType":"UserDefinedTypeName","pathNode":{"id":176769,"name":"PositionData","nameLocations":["1196:12:304"],"nodeType":"IdentifierPath","referencedDeclaration":147750,"src":"1196:12:304"},"referencedDeclaration":147750,"src":"1196:12:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage_ptr","typeString":"struct PositionData"}},"visibility":"internal"},{"constant":false,"id":176774,"mutability":"mutable","name":"b","nameLocation":"1239:1:304","nodeType":"VariableDeclaration","scope":176822,"src":"1219:21:304","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData"},"typeName":{"id":176773,"nodeType":"UserDefinedTypeName","pathNode":{"id":176772,"name":"PositionData","nameLocations":["1219:12:304"],"nodeType":"IdentifierPath","referencedDeclaration":147750,"src":"1219:12:304"},"referencedDeclaration":147750,"src":"1219:12:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage_ptr","typeString":"struct PositionData"}},"visibility":"internal"}],"src":"1195:46:304"},"returnParameters":{"id":176778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176777,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":176822,"src":"1256:5:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":176776,"name":"int32","nodeType":"ElementaryTypeName","src":"1256:5:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"1255:7:304"},"scope":177026,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":176835,"nodeType":"FunctionDefinition","src":"1382:108:304","nodes":[],"body":{"id":176834,"nodeType":"Block","src":"1442:48:304","nodes":[],"statements":[{"expression":{"arguments":[{"id":176831,"name":"matchIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176824,"src":"1476:10:304","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":176829,"name":"MatchIndexToEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127656,"src":"1453:18:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MatchIndexToEntity_$127656_$","typeString":"type(library MatchIndexToEntity)"}},"id":176830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1472:3:304","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":127267,"src":"1453:22:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint32_$returns$_t_bytes32_$","typeString":"function (uint32) view returns (bytes32)"}},"id":176832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1453:34:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":176828,"id":176833,"nodeType":"Return","src":"1446:41:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"getMatch","nameLocation":"1391:8:304","parameters":{"id":176825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176824,"mutability":"mutable","name":"matchIndex","nameLocation":"1407:10:304","nodeType":"VariableDeclaration","scope":176835,"src":"1400:17:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":176823,"name":"uint32","nodeType":"ElementaryTypeName","src":"1400:6:304","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"1399:19:304"},"returnParameters":{"id":176828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176827,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":176835,"src":"1433:7:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176826,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1433:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1432:9:304"},"scope":177026,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":176859,"nodeType":"FunctionDefinition","src":"1492:187:304","nodes":[],"body":{"id":176858,"nodeType":"Block","src":"1558:121:304","nodes":[],"statements":[{"assignments":[176843],"declarations":[{"constant":false,"id":176843,"mutability":"mutable","name":"startTime","nameLocation":"1570:9:304","nodeType":"VariableDeclaration","scope":176858,"src":"1562:17:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":176842,"name":"uint256","nodeType":"ElementaryTypeName","src":"1562:7:304","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":176848,"initialValue":{"arguments":[{"id":176846,"name":"matchEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176837,"src":"1607:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":176844,"name":"MatchConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":125136,"src":"1582:11:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MatchConfig_$125136_$","typeString":"type(library MatchConfig)"}},"id":176845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1594:12:304","memberName":"getStartTime","nodeType":"MemberAccess","referencedDeclaration":123709,"src":"1582:24:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) view returns (uint256)"}},"id":176847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1582:37:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1562:57:304"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":176856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":176851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":176849,"name":"startTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176843,"src":"1630:9:304","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":176850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1643:1:304","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1630:14:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":176855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":176852,"name":"startTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176843,"src":"1648:9:304","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":176853,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1661:5:304","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":176854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1667:9:304","memberName":"timestamp","nodeType":"MemberAccess","src":"1661:15:304","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1648:28:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1630:46:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":176841,"id":176857,"nodeType":"Return","src":"1623:53:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"matchHasStarted","nameLocation":"1501:15:304","parameters":{"id":176838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176837,"mutability":"mutable","name":"matchEntity","nameLocation":"1525:11:304","nodeType":"VariableDeclaration","scope":176859,"src":"1517:19:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1517:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1516:21:304"},"returnParameters":{"id":176841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176840,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":176859,"src":"1552:4:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":176839,"name":"bool","nodeType":"ElementaryTypeName","src":"1552:4:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1551:6:304"},"scope":177026,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":176908,"nodeType":"FunctionDefinition","src":"1681:322:304","nodes":[],"body":{"id":176907,"nodeType":"Block","src":"1766:237:304","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":176874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":176870,"name":"matchEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176861,"src":"1785:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":176871,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176863,"src":"1798:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":176868,"name":"Player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147014,"src":"1774:6:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Player_$147014_$","typeString":"type(library Player)"}},"id":176869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1781:3:304","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":146606,"src":"1774:10:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_uint32_$","typeString":"function (bytes32,bytes32) view returns (uint32)"}},"id":176872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:31:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":176873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1809:1:304","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1774:36:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":176877,"nodeType":"IfStatement","src":"1770:55:304","trueBody":{"expression":{"id":176875,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176863,"src":"1819:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":176867,"id":176876,"nodeType":"Return","src":"1812:13:304"}},{"body":{"id":176903,"nodeType":"Block","src":"1875:113:304","statements":[{"expression":{"id":176891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":176885,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176863,"src":"1881:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":176888,"name":"matchEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176861,"src":"1902:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":176889,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176863,"src":"1915:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":176886,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"1890:7:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":176887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1898:3:304","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":145903,"src":"1890:11:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) view returns (bytes32)"}},"id":176890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1890:32:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1881:41:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":176892,"nodeType":"ExpressionStatement","src":"1881:41:304"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":176899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":176895,"name":"matchEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176861,"src":"1943:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":176896,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176863,"src":"1956:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":176893,"name":"Player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147014,"src":"1932:6:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Player_$147014_$","typeString":"type(library Player)"}},"id":176894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1939:3:304","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":146606,"src":"1932:10:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_uint32_$","typeString":"function (bytes32,bytes32) view returns (uint32)"}},"id":176897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1932:31:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":176898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1967:1:304","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1932:36:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":176902,"nodeType":"IfStatement","src":"1928:55:304","trueBody":{"expression":{"id":176900,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176863,"src":"1977:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":176867,"id":176901,"nodeType":"Return","src":"1970:13:304"}}]},"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":176884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":176880,"name":"matchEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176861,"src":"1848:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":176881,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176863,"src":"1861:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":176878,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"1836:7:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":176879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1844:3:304","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":145903,"src":"1836:11:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) view returns (bytes32)"}},"id":176882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1836:32:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":176883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1872:1:304","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1836:37:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":176904,"nodeType":"WhileStatement","src":"1829:159:304"},{"expression":{"hexValue":"30","id":176905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1999:1:304","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":176867,"id":176906,"nodeType":"Return","src":"1992:8:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"getOwningPlayer","nameLocation":"1690:15:304","parameters":{"id":176864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176861,"mutability":"mutable","name":"matchEntity","nameLocation":"1714:11:304","nodeType":"VariableDeclaration","scope":176908,"src":"1706:19:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176860,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1706:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":176863,"mutability":"mutable","name":"entity","nameLocation":"1735:6:304","nodeType":"VariableDeclaration","scope":176908,"src":"1727:14:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1727:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1705:37:304"},"returnParameters":{"id":176867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176866,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":176908,"src":"1757:7:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1757:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1756:9:304"},"scope":177026,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":176938,"nodeType":"FunctionDefinition","src":"2005:256:304","nodes":[],"body":{"id":176937,"nodeType":"Block","src":"2103:158:304","nodes":[],"statements":[{"assignments":[176920],"declarations":[{"constant":false,"id":176920,"mutability":"mutable","name":"owningPlayer","nameLocation":"2115:12:304","nodeType":"VariableDeclaration","scope":176937,"src":"2107:20:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176919,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2107:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":176925,"initialValue":{"arguments":[{"id":176922,"name":"matchEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176910,"src":"2146:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":176923,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176912,"src":"2159:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":176921,"name":"getOwningPlayer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176908,"src":"2130:15:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) view returns (bytes32)"}},"id":176924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2130:36:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2107:59:304"},{"assignments":[176927],"declarations":[{"constant":false,"id":176927,"mutability":"mutable","name":"player","nameLocation":"2178:6:304","nodeType":"VariableDeclaration","scope":176937,"src":"2170:14:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176926,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2170:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":176932,"initialValue":{"arguments":[{"id":176929,"name":"matchEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176910,"src":"2205:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":176930,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176914,"src":"2218:5:304","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":176928,"name":"playerFromAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176768,"src":"2187:17:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bytes32_$","typeString":"function (bytes32,address) view returns (bytes32)"}},"id":176931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2187:37:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2170:54:304"},{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":176935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":176933,"name":"owningPlayer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176920,"src":"2236:12:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":176934,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176927,"src":"2252:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2236:22:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":176918,"id":176936,"nodeType":"Return","src":"2229:29:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"isOwnedByAddress","nameLocation":"2014:16:304","parameters":{"id":176915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176910,"mutability":"mutable","name":"matchEntity","nameLocation":"2039:11:304","nodeType":"VariableDeclaration","scope":176938,"src":"2031:19:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176909,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2031:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":176912,"mutability":"mutable","name":"entity","nameLocation":"2060:6:304","nodeType":"VariableDeclaration","scope":176938,"src":"2052:14:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2052:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":176914,"mutability":"mutable","name":"owner","nameLocation":"2076:5:304","nodeType":"VariableDeclaration","scope":176938,"src":"2068:13:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":176913,"name":"address","nodeType":"ElementaryTypeName","src":"2068:7:304","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2030:52:304"},"returnParameters":{"id":176918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":176938,"src":"2097:4:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":176916,"name":"bool","nodeType":"ElementaryTypeName","src":"2097:4:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2096:6:304"},"scope":177026,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":176988,"nodeType":"FunctionDefinition","src":"2263:324:304","nodes":[],"body":{"id":176987,"nodeType":"Block","src":"2354:233:304","nodes":[],"statements":[{"condition":{"arguments":[{"id":176951,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176944,"src":"2372:5:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":176949,"name":"Admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88189,"src":"2362:5:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Admin_$88189_$","typeString":"type(library Admin)"}},"id":176950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2368:3:304","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":87843,"src":"2362:9:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":176952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2362:16:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":176955,"nodeType":"IfStatement","src":"2358:33:304","trueBody":{"expression":{"hexValue":"74727565","id":176953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2387:4:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":176948,"id":176954,"nodeType":"Return","src":"2380:11:304"}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":176958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":176956,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176942,"src":"2399:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":176957,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176944,"src":"2409:5:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2399:15:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":176961,"nodeType":"IfStatement","src":"2395:32:304","trueBody":{"expression":{"hexValue":"74727565","id":176959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2423:4:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":176948,"id":176960,"nodeType":"Return","src":"2416:11:304"}},{"body":{"id":176983,"nodeType":"Block","src":"2478:90:304","statements":[{"expression":{"id":176975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":176969,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176942,"src":"2484:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":176972,"name":"matchEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176940,"src":"2505:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":176973,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176942,"src":"2518:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":176970,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"2493:7:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":176971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2501:3:304","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":145903,"src":"2493:11:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) view returns (bytes32)"}},"id":176974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2493:32:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2484:41:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":176976,"nodeType":"ExpressionStatement","src":"2484:41:304"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":176979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":176977,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176942,"src":"2535:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":176978,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176944,"src":"2545:5:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2535:15:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":176982,"nodeType":"IfStatement","src":"2531:32:304","trueBody":{"expression":{"hexValue":"74727565","id":176980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2559:4:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":176948,"id":176981,"nodeType":"Return","src":"2552:11:304"}}]},"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":176968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":176964,"name":"matchEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176940,"src":"2451:11:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":176965,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176942,"src":"2464:6:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":176962,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"2439:7:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":176963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2447:3:304","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":145903,"src":"2439:11:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) view returns (bytes32)"}},"id":176966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2439:32:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":176967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2475:1:304","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2439:37:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":176984,"nodeType":"WhileStatement","src":"2432:136:304"},{"expression":{"hexValue":"66616c7365","id":176985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2579:5:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":176948,"id":176986,"nodeType":"Return","src":"2572:12:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"isOwnedBy","nameLocation":"2272:9:304","parameters":{"id":176945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176940,"mutability":"mutable","name":"matchEntity","nameLocation":"2290:11:304","nodeType":"VariableDeclaration","scope":176988,"src":"2282:19:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2282:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":176942,"mutability":"mutable","name":"entity","nameLocation":"2311:6:304","nodeType":"VariableDeclaration","scope":176988,"src":"2303:14:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176941,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2303:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":176944,"mutability":"mutable","name":"owner","nameLocation":"2327:5:304","nodeType":"VariableDeclaration","scope":176988,"src":"2319:13:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176943,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2319:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2281:52:304"},"returnParameters":{"id":176948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176947,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":176988,"src":"2348:4:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":176946,"name":"bool","nodeType":"ElementaryTypeName","src":"2348:4:304","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2347:6:304"},"scope":177026,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":177010,"nodeType":"FunctionDefinition","src":"2674:178:304","nodes":[],"body":{"id":177009,"nodeType":"Block","src":"2783:69:304","nodes":[],"statements":[{"expression":{"arguments":[{"id":177002,"name":"levelId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176991,"src":"2817:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":177003,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176994,"src":"2826:8:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":177004,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2835:1:304","memberName":"x","nodeType":"MemberAccess","referencedDeclaration":147747,"src":"2826:10:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"expression":{"id":177005,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176994,"src":"2838:8:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}},"id":177006,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2847:1:304","memberName":"y","nodeType":"MemberAccess","referencedDeclaration":147749,"src":"2838:10:304","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"}],"expression":{"id":177000,"name":"LevelPositionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":117247,"src":"2794:18:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LevelPositionIndex_$117247_$","typeString":"type(library LevelPositionIndex)"}},"id":177001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2813:3:304","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":115018,"src":"2794:22:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_int32_$_t_int32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (bytes32,int32,int32) view returns (uint256[] memory)"}},"id":177007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2794:55:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":176999,"id":177008,"nodeType":"Return","src":"2787:62:304"}]},"documentation":{"id":176989,"nodeType":"StructuredDocumentation","src":"2589:84:304","text":" @notice Get all the indices in `levelId` with the given Position override"},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"getIndicesAtPosition","nameLocation":"2683:20:304","parameters":{"id":176995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176991,"mutability":"mutable","name":"levelId","nameLocation":"2712:7:304","nodeType":"VariableDeclaration","scope":177010,"src":"2704:15:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":176990,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2704:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":176994,"mutability":"mutable","name":"position","nameLocation":"2741:8:304","nodeType":"VariableDeclaration","scope":177010,"src":"2721:28:304","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData"},"typeName":{"id":176993,"nodeType":"UserDefinedTypeName","pathNode":{"id":176992,"name":"PositionData","nameLocations":["2721:12:304"],"nodeType":"IdentifierPath","referencedDeclaration":147750,"src":"2721:12:304"},"referencedDeclaration":147750,"src":"2721:12:304","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage_ptr","typeString":"struct PositionData"}},"visibility":"internal"}],"src":"2703:47:304"},"returnParameters":{"id":176999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":176998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":177010,"src":"2765:16:304","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":176996,"name":"uint256","nodeType":"ElementaryTypeName","src":"2765:7:304","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":176997,"nodeType":"ArrayTypeName","src":"2765:9:304","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2764:18:304"},"scope":177026,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":177025,"nodeType":"FunctionDefinition","src":"2854:152:304","nodes":[],"body":{"id":177024,"nodeType":"Block","src":"2933:73:304","nodes":[],"statements":[{"expression":{"arguments":[{"id":177020,"name":"levelId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177012,"src":"2968:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":177021,"name":"SpawnSettlementTemplateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169692,"src":"2977:25:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":177018,"name":"LevelTemplatesIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120591,"src":"2944:19:304","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LevelTemplatesIndex_$120591_$","typeString":"type(library LevelTemplatesIndex)"}},"id":177019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2964:3:304","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":119090,"src":"2944:23:304","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (bytes32,bytes32) view returns (uint256[] memory)"}},"id":177022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2944:59:304","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":177017,"id":177023,"nodeType":"Return","src":"2937:66:304"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"getLevelSpawnIndices","nameLocation":"2863:20:304","parameters":{"id":177013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":177012,"mutability":"mutable","name":"levelId","nameLocation":"2892:7:304","nodeType":"VariableDeclaration","scope":177025,"src":"2884:15:304","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":177011,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2884:7:304","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2883:17:304"},"returnParameters":{"id":177017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":177016,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":177025,"src":"2915:16:304","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":177014,"name":"uint256","nodeType":"ElementaryTypeName","src":"2915:7:304","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":177015,"nodeType":"ArrayTypeName","src":"2915:9:304","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2914:18:304"},"scope":177026,"stateMutability":"view","virtual":false,"visibility":"internal"}],"license":"Unlicense"},"id":304}