text: exports.id=0,exports.modules={"./build/contracts/FlightSuretyApp.json":function(e){e.exports=JSON.parse('{"contractName":"FlightSuretyApp","abi":[{"constant":true,"inputs":[],"name":"REGISTRATION_FEE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"dataContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"airline","type":"address"},{"indexed":false,"name":"flight","type":"string"},{"indexed":false,"name":"timestamp","type":"uint256"},{"indexed":false,"name":"status","type":"uint8"}],"name":"FlightStatusInfo","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"airline","type":"address"},{"indexed":false,"name":"flight","type":"string"},{"indexed":false,"name":"timestamp","type":"uint256"},{"indexed":false,"name":"status","type":"uint8"}],"name":"OracleReport","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"index","type":"uint8"},{"indexed":false,"name":"airline","type":"address"},{"indexed":false,"name":"flight","type":"string"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"OracleRequest","type":"event"},{"constant":true,"inputs":[],"name":"isOperational","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"airline","type":"address"}],"name":"registerAirline","outputs":[{"name":"success","type":"bool"},{"name":"votes","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"airline","type":"address"},{"name":"flight","type":"string"},{"name":"timestamp","type":"uint256"}],"name":"registerFlight","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"airline","type":"address"}],"name":"fund","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"airline","type":"address"},{"name":"flight","type":"string"}],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"getFlightNumbers","outputs":[{"name":"","type":"string[]"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"airline","type":"address"},{"name":"flight","type":"string"},{"name":"timestamp","type":"uint256"}],"name":"fetchFlightStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"registerOracle","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"getMyIndexes","outputs":[{"name":"","type":"uint8[3]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint8"},{"name":"airline","type":"address"},{"name":"flight","type":"string"},{"name":"timestamp","type":"uint256"},{"name":"statusCode","type":"uint8"}],"name":"submitOracleResponse","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"metadata":"{\\"compiler\\":{\\"version\\":\\"0.4.26+commit.4563c3fc\\"},\\"language\\":\\"Solidity\\",\\"output\\":{\\"abi\\":[{\\"constant\\":false,\\"inputs\\":[],\\"name\\":\\"getFlightNumbers\\",\\"outputs\\":[{\\"name\\":\\"\\",\\"type\\":\\"string[]\\"}],\\"payable\\":false,\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[{\\"name\\":\\"airline\\",\\"type\\":\\"address\\"}],\\"name\\":\\"fund\\",\\"outputs\\":[],\\"payable\\":true,\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[],\\"name\\":\\"registerOracle\\",\\"outputs\\":[],\\"payable\\":true,\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[{\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"registerFlight\\",\\"outputs\\":[],\\"payable\\":false,\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[],\\"name\\":\\"withdraw\\",\\"outputs\\":[],\\"payable\\":true,\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"constant\\":true,\\"inputs\\":[],\\"name\\":\\"getMyIndexes\\",\\"outputs\\":[{\\"name\\":\\"\\",\\"type\\":\\"uint8[3]\\"}],\\"payable\\":false,\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"constant\\":true,\\"inputs\\":[],\\"name\\":\\"REGISTRATION_FEE\\",\\"outputs\\":[{\\"name\\":\\"\\",\\"type\\":\\"uint256\\"}],\\"payable\\":false,\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[{\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"name\\":\\"flight\\",\\"type\\":\\"string\\"}],\\"name\\":\\"buy\\",\\"outputs\\":[],\\"payable\\":true,\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[{\\"name\\":\\"airline\\",\\"type\\":\\"address\\"}],\\"name\\":\\"registerAirline\\",\\"outputs\\":[{\\"name\\":\\"success\\",\\"type\\":\\"bool\\"},{\\"name\\":\\"votes\\",\\"type\\":\\"uint256\\"}],\\"payable\\":false,\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[{\\"name\\":\\"index\\",\\"type\\":\\"uint8\\"},{\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"name\\":\\"statusCode\\",\\"type\\":\\"uint8\\"}],\\"name\\":\\"submitOracleResponse\\",\\"outputs\\":[],\\"payable\\":false,\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"constant\\":true,\\"inputs\\":[],\\"name\\":\\"isOperational\\",\\"outputs\\":[{\\"name\\":\\"\\",\\"type\\":\\"bool\\"}],\\"payable\\":false,\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"constant\\":false,\\"inputs\\":[{\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"fetchFlightStatus\\",\\"outputs\\":[],\\"payable\\":false,\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"name\\":\\"dataContract\\",\\"type\\":\\"address\\"}],\\"payable\\":false,\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"constructor\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"indexed\\":false,\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"name\\":\\"status\\",\\"type\\":\\"uint8\\"}],\\"name\\":\\"FlightStatusInfo\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"indexed\\":false,\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"name\\":\\"status\\",\\"type\\":\\"uint8\\"}],\\"name\\":\\"OracleReport\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"name\\":\\"index\\",\\"type\\":\\"uint8\\"},{\\"indexed\\":false,\\"name\\":\\"airline\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"name\\":\\"flight\\",\\"type\\":\\"string\\"},{\\"indexed\\":false,\\"name\\":\\"timestamp\\",\\"type\\":\\"uint256\\"}],\\"name\\":\\"OracleRequest\\",\\"type\\":\\"event\\"}],\\"devdoc\\":{\\"methods\\":{\\"buy(address,string)\\":{\\"details\\":\\"Called when user wants to buy flight insurance     \\"},\\"fund(address)\\":{\\"details\\":\\"An airline has to provide fund to register other airilines.     \\"},\\"getFlightNumbers()\\":{\\"details\\":\\"Gets the flight numbers     \\"},\\"registerAirline(address)\\":{\\"details\\":\\"Add an airline to the registration queue    \\"},\\"registerFlight(address,string,uint256)\\":{\\"details\\":\\"Register a future flight for insuring.    \\"},\\"withdraw()\\":{\\"details\\":\\"Called after oracle has updated flight status     \\"}}},\\"userdoc\\":{\\"methods\\":{\\"isOperational()\\":{\\"notice\\":\\"*****************************************************************************************\\"}}}},\\"settings\\":{\\"compilationTarget\\":{\\"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyApp.sol\\":\\"FlightSuretyApp\\"},\\"evmVersion\\":\\"byzantium\\",\\"libraries\\":{},\\"optimizer\\":{\\"enabled\\":false,\\"runs\\":200},\\"remappings\\":[]},\\"sources\\":{\\"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyApp.sol\\":{\\"keccak256\\":\\"0xfd8197b228b1a6c32abce1a45aa13092900933a43ae973cf7636e87e18a389f6\\",\\"urls\\":[\\"bzzr://cd46aa627e4ab8aa660369356668128409f717a951ce9680a72b38ef790c38f8\\"]},\\"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyData.sol\\":{\\"keccak256\\":\\"0xe5f1d0d4aac07e1fe44c7d3f2fa180e89999dc17eb3a427514319f427da2f137\\",\\"urls\\":[\\"bzzr://1e2fae50f33dbc8804b0215e3245d07f8fd3a14c4a61287d31d7eea0380cb180\\"]},\\"/Users/stockbit/Documents/Tutorials/FlightSurety/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\\":{\\"keccak256\\":\\"0xa1c5e1d9ebbf654d332ca8e7a5c04a6a6a9d142eeaab3b988c2c909c81a62bef\\",\\"urls\\":[\\"bzzr://d062fb4a1b6de1f036ee0e73364a2532c4757eb68e95dd8c5cbb2d17b8732c6a\\"]}},\\"version\\":1}","bytecode":"0x60806040526000600160146101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b506040516020806200285383398101806040526200004f9190810190620000ed565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000139565b6000620000e5825162000119565b905092915050565b6000602082840312156200010057600080fd5b60006200011084828501620000d7565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b61270a80620001496000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302bc6190146100bf57806323024408146100ea578063339d2590146101065780633cc0be9c146101105780633ccfd60b146101395780635f1cc0e61461014357806364b4f7511461016e5780638345183814610199578063bdfd9877146101b5578063c10f2700146101f3578063cd905dff1461021c578063f83f11c014610247575b600080fd5b3480156100cb57600080fd5b506100d4610270565b6040516100e1919061236f565b60405180910390f35b61010460048036036100ff9190810190611cbb565b61037c565b005b61010e61046c565b005b34801561011c57600080fd5b5061013760048036036101329190810190611d3c565b610561565b005b610141610659565b005b34801561014f57600080fd5b50610158610747565b6040516101659190612391565b60405180910390f35b34801561017a57600080fd5b50610183610889565b60405161019091906124b0565b60405180910390f35b6101b360048036036101ae9190810190611ce4565b610895565b005b3480156101c157600080fd5b506101dc60048036036101d79190810190611cbb565b61098c565b6040516101ea9291906123c7565b60405180910390f35b3480156101ff57600080fd5b5061021a60048036036102159190810190611e3b565b610ebb565b005b34801561022857600080fd5b50610231611369565b60405161023e91906123ac565b60405180910390f35b34801561025357600080fd5b5061026e60048036036102699190810190611d3c565b61142e565b005b6060600115156102b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ac90612450565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302bc61906040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15801561033b57600080fd5b505af115801561034f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506103789190810190611da8565b5090565b600115156103bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b690612450565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632302440834836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610437919061223a565b6000604051808303818588803b15801561045057600080fd5b505af1158015610464573d6000803e3d6000fd5b505050505050565b610474611a52565b670de0b6b3a764000034101515156104c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b890612470565b60405180910390fd5b6104ca3361163c565b9050604080519081016040528060011515815260200182815250600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010190600361055a929190611a75565b5090505050565b600115156105a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059b90612450565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633cc0be9c858585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016106219493929190612295565b600060405180830381600087803b15801561063b57600080fd5b505af115801561064f573d6000803e3d6000fd5b5050505050505050565b6001151561069c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069390612450565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c11dedd336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610713919061223a565b600060405180830381600087803b15801561072d57600080fd5b505af1158015610741573d6000803e3d6000fd5b50505050565b61074f611a52565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615156107e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d790612430565b60405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160038060200260405190810160405280929190826003801561087f576020028201916000905b82829054906101000a900460ff1660ff16815260200190600101906020826000010492830192600103820291508084116108485790505b5050505050905090565b670de0b6b3a764000081565b600115156108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf90612450565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bce877ab338585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016109559493929190612255565b600060405180830381600087803b15801561096f57600080fd5b505af1158015610983573d6000803e3d6000fd5b50505050505050565b6000806000600115156109d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cb90612450565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663570e30e1336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610a4d919061223a565b602060405180830381600087803b158015610a6757600080fd5b505af1158015610a7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a9f9190810190611de9565b905060011515811515141515610aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae190612410565b60405180910390fd5b60009350600192506004600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633c85380f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610b7a57600080fd5b505af1158015610b8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb29190810190611e12565b101515610e0057600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e36ed7b3866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610c30919061223a565b600060405180830381600087803b158015610c4a57600080fd5b505af1158015610c5e573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dab6ce6a866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610cd9919061223a565b602060405180830381600087803b158015610cf357600080fd5b505af1158015610d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2b9190810190611e12565b9250610d42600260046117e290919063ffffffff16565b91508183101515610dfb57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bdfd9877866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610dc4919061223a565b600060405180830381600087803b158015610dde57600080fd5b505af1158015610df2573d6000803e3d6000fd5b50505050600193505b610eae565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bdfd9877866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610e77919061223a565b600060405180830381600087803b158015610e9157600080fd5b505af1158015610ea5573d6000803e3d6000fd5b50505050600193505b8383935093505050915091565b60008660ff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000600381101515610f1157fe5b602091828204019190069054906101000a900460ff1660ff161480610fa057508660ff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001600381101515610f8557fe5b602091828204019190069054906101000a900460ff1660ff16145b8061101557508660ff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016002600381101515610ffa57fe5b602091828204019190069054906101000a900460ff1660ff16145b1515611056576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104d90612490565b60405180910390fd5b8686868686604051602001808660ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018484808284378201915050828152602001955050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561112d5780518252602082019150602081019050602083039250611108565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060036000826000191660001916815260200190815260200160002060000160149054906101000a900460ff1615156111c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c0906123f0565b60405180910390fd5b60036000826000191660001916815260200190815260200160002060010160008360ff1660ff1681526020019081526020016000203390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550507f43c853095c2752648493c88b4baac4d580d2594ffb00c6f1d4242d844514f78386868686866040516112999594939291906122d5565b60405180910390a16003806000836000191660001916815260200190815260200160002060010160008460ff1660ff16815260200190815260200160002080549050101515611360577fe23f5229de535c091e3b7bec2665f5d698192d3b31393066e8987b7a05076b6c86868686866040516113199594939291906122d5565b60405180910390a161135f8686868080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505085856117f8565b5b50505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cd905dff6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156113f157600080fd5b505af1158015611405573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114299190810190611de9565b905090565b60008061143a336118f0565b91508186868686604051602001808660ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018484808284378201915050828152602001955050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561151357805182526020820191506020810190506020830392506114ee565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060408051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016001151581525060036000836000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff0219169083151502179055509050507f3ed01f2c3fc24c6b329d931e35b03e390d23497d22b3f90e15b600343e93df11828787878760405161162c9594939291906124cb565b60405180910390a1505050505050565b611644611a52565b61164c611a52565b611655836118f0565b81600060038110151561166457fe5b602002019060ff16908160ff168152505080600060038110151561168457fe5b602002015181600160038110151561169857fe5b602002019060ff16908160ff16815250505b8060006003811015156116b957fe5b602002015160ff168160016003811015156116d057fe5b602002015160ff16141561170c576116e7836118f0565b8160016003811015156116f657fe5b602002019060ff16908160ff16815250506116aa565b80600160038110151561171b57fe5b602002015181600260038110151561172f57fe5b602002019060ff16908160ff16815250505b80600060038110151561175057fe5b602002015160ff1681600260038110151561176757fe5b602002015160ff1614806117a6575080600160038110151561178557fe5b602002015160ff1681600260038110151561179c57fe5b602002015160ff16145b156117d9576117b4836118f0565b8160026003811015156117c357fe5b602002019060ff16908160ff1681525050611741565b80915050919050565b600081838115156117ef57fe5b04905092915050565b6001151561183b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183290612450565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634337bdd4858585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016118b89493929190612323565b600060405180830381600087803b1580156118d257600080fd5b505af11580156118e6573d6000803e3d6000fd5b5050505050505050565b6000806000600a91508160ff166001601481819054906101000a900460ff168092919060010191906101000a81548160ff021916908360ff16021790555060ff16430340856040516020018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040526040518082805190602001908083835b6020831015156119d357805182526020820191506020810190506020830392506119ae565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060019004811515611a0d57fe5b06905060fa600160149054906101000a900460ff1660ff161115611a48576000600160146101000a81548160ff021916908360ff1602179055505b8092505050919050565b606060405190810160405280600390602082028038833980820191505090505090565b826003601f01602090048101928215611afe5791602002820160005b83821115611acf57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302611a91565b8015611afc5782816101000a81549060ff0219169055600101602081600001049283019260010302611acf565b505b509050611b0b9190611b0f565b5090565b611b3c91905b80821115611b3857600081816101000a81549060ff021916905550600101611b15565b5090565b90565b6000611b4b823561263a565b905092915050565b600082601f8301121515611b6657600080fd5b8151611b79611b7482612546565b612519565b9150818183526020840193506020810190508360005b83811015611bbf5781518601611ba58882611c29565b845260208401935060208301925050600181019050611b8f565b5050505092915050565b6000611bd5825161265a565b905092915050565b60008083601f8401121515611bf157600080fd5b8235905067ffffffffffffffff811115611c0a57600080fd5b602083019150836001820283011115611c2257600080fd5b9250929050565b600082601f8301121515611c3c57600080fd5b8151611c4f611c4a8261256e565b612519565b91508082526020830160208301858383011115611c6b57600080fd5b611c7683828461268c565b50505092915050565b6000611c8b8235612666565b905092915050565b6000611c9f8251612666565b905092915050565b6000611cb38235612670565b905092915050565b600060208284031215611ccd57600080fd5b6000611cdb84828501611b3f565b91505092915050565b600080600060408486031215611cf957600080fd5b6000611d0786828701611b3f565b935050602084013567ffffffffffffffff811115611d2457600080fd5b611d3086828701611bdd565b92509250509250925092565b60008060008060608587031215611d5257600080fd5b6000611d6087828801611b3f565b945050602085013567ffffffffffffffff811115611d7d57600080fd5b611d8987828801611bdd565b93509350506040611d9c87828801611c7f565b91505092959194509250565b600060208284031215611dba57600080fd5b600082015167ffffffffffffffff811115611dd457600080fd5b611de084828501611b53565b91505092915050565b600060208284031215611dfb57600080fd5b6000611e0984828501611bc9565b91505092915050565b600060208284031215611e2457600080fd5b6000611e3284828501611c93565b91505092915050565b60008060008060008060a08789031215611e5457600080fd5b6000611e6289828a01611ca7565b9650506020611e7389828a01611b3f565b955050604087013567ffffffffffffffff811115611e9057600080fd5b611e9c89828a01611bdd565b94509450506060611eaf89828a01611c7f565b9250506080611ec089828a01611ca7565b9150509295509295509295565b611ed6816125f7565b82525050565b6000611ee7826125b1565b80845260208401935083602082028501611f008561259a565b60005b84811015611f39578383038852611f1b838351612004565b9250611f26826125dd565b9150602088019750600181019050611f03565b508196508694505050505092915050565b611f53816125bc565b611f5c826125a7565b60005b82811015611f8e57611f7285835161222b565b611f7b826125ea565b9150602085019450600181019050611f5f565b5050505050565b611f9e81612617565b82525050565b6000828452602084019350611fba83858461267d565b611fc3836126bf565b840190509392505050565b6000611fd9826125d2565b808452611fed81602086016020860161268c565b611ff6816126bf565b602085010191505092915050565b600061200f826125c7565b80845261202381602086016020860161268c565b61202c816126bf565b602085010191505092915050565b6000602f82527f466c69676874206f722074696d657374616d7020646f206e6f74206d6174636860208301527f206f7261636c65207265717565737400000000000000000000000000000000006040830152606082019050919050565b6000602582527f4169726c696e6520686173206e6f74207061696420726567697374726174696f60208301527f6e206665650000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000601b82527f4e6f74207265676973746572656420617320616e206f7261636c6500000000006020830152604082019050919050565b6000602582527f436f6e74726163742069732063757272656e746c79206e6f74206f706572617460208301527f696f6e616c0000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000601c82527f526567697374726174696f6e20666565206973207265717569726564000000006020830152604082019050919050565b6000602382527f496e64657820646f6573206e6f74206d61746368206f7261636c65207265717560208301527f65737400000000000000000000000000000000000000000000000000000000006040830152606082019050919050565b61222581612623565b82525050565b6122348161262d565b82525050565b600060208201905061224f6000830184611ecd565b92915050565b600060608201905061226a6000830187611ecd565b6122776020830186611ecd565b818103604083015261228a818486611fa4565b905095945050505050565b60006060820190506122aa6000830187611ecd565b81810360208301526122bd818587611fa4565b90506122cc604083018461221c565b95945050505050565b60006080820190506122ea6000830188611ecd565b81810360208301526122fd818688611fa4565b905061230c604083018561221c565b612319606083018461222b565b9695505050505050565b60006080820190506123386000830187611ecd565b818103602083015261234a8186611fce565b9050612359604083018561221c565b612366606083018461222b565b95945050505050565b600060208201905081810360008301526123898184611edc565b905092915050565b60006060820190506123a66000830184611f4a565b92915050565b60006020820190506123c16000830184611f95565b92915050565b60006040820190506123dc6000830185611f95565b6123e9602083018461221c565b9392505050565b600060208201905081810360008301526124098161203a565b9050919050565b6000602082019050818103600083015261242981612097565b9050919050565b60006020820190508181036000830152612449816120f4565b9050919050565b600060208201905081810360008301526124698161212b565b9050919050565b6000602082019050818103600083015261248981612188565b9050919050565b600060208201905081810360008301526124a9816121bf565b9050919050565b60006020820190506124c5600083018461221c565b92915050565b60006080820190506124e0600083018861222b565b6124ed6020830187611ecd565b8181036040830152612500818587611fa4565b905061250f606083018461221c565b9695505050505050565b6000604051905081810181811067ffffffffffffffff8211171561253c57600080fd5b8060405250919050565b600067ffffffffffffffff82111561255d57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561258557600080fd5b601f19601f8301169050602081019050919050565b6000602082019050919050565b6000819050919050565b600081519050919050565b600060039050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60008115159050919050565b6000819050919050565b600060ff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60008115159050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156126aa57808201518184015260208101905061268f565b838111156126b9576000848401525b50505050565b6000601f19601f83011690509190505600a265627a7a72305820789a865902cd3e1d55cce681b783912abbc890964f6bf986db70fdc988d548ad6c6578706572696d656e74616cf50037","deployedBytecode":"0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302bc6190146100bf57806323024408146100ea578063339d2590146101065780633cc0be9c146101105780633ccfd60b146101395780635f1cc0e61461014357806364b4f7511461016e5780638345183814610199578063bdfd9877146101b5578063c10f2700146101f3578063cd905dff1461021c578063f83f11c014610247575b600080fd5b3480156100cb57600080fd5b506100d4610270565b6040516100e1919061236f565b60405180910390f35b61010460048036036100ff9190810190611cbb565b61037c565b005b61010e61046c565b005b34801561011c57600080fd5b5061013760048036036101329190810190611d3c565b610561565b005b610141610659565b005b34801561014f57600080fd5b50610158610747565b6040516101659190612391565b60405180910390f35b34801561017a57600080fd5b50610183610889565b60405161019091906124b0565b60405180910390f35b6101b360048036036101ae9190810190611ce4565b610895565b005b3480156101c157600080fd5b506101dc60048036036101d79190810190611cbb565b61098c565b6040516101ea9291906123c7565b60405180910390f35b3480156101ff57600080fd5b5061021a60048036036102159190810190611e3b565b610ebb565b005b34801561022857600080fd5b50610231611369565b60405161023e91906123ac565b60405180910390f35b34801561025357600080fd5b5061026e60048036036102699190810190611d3c565b61142e565b005b6060600115156102b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102ac90612450565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302bc61906040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15801561033b57600080fd5b505af115801561034f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506103789190810190611da8565b5090565b600115156103bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b690612450565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632302440834836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610437919061223a565b6000604051808303818588803b15801561045057600080fd5b505af1158015610464573d6000803e3d6000fd5b505050505050565b610474611a52565b670de0b6b3a764000034101515156104c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b890612470565b60405180910390fd5b6104ca3361163c565b9050604080519081016040528060011515815260200182815250600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010190600361055a929190611a75565b5090505050565b600115156105a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059b90612450565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633cc0be9c858585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016106219493929190612295565b600060405180830381600087803b15801561063b57600080fd5b505af115801561064f573d6000803e3d6000fd5b5050505050505050565b6001151561069c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069390612450565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c11dedd336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610713919061223a565b600060405180830381600087803b15801561072d57600080fd5b505af1158015610741573d6000803e3d6000fd5b50505050565b61074f611a52565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1615156107e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d790612430565b60405180910390fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160038060200260405190810160405280929190826003801561087f576020028201916000905b82829054906101000a900460ff1660ff16815260200190600101906020826000010492830192600103820291508084116108485790505b5050505050905090565b670de0b6b3a764000081565b600115156108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf90612450565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bce877ab338585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016109559493929190612255565b600060405180830381600087803b15801561096f57600080fd5b505af1158015610983573d6000803e3d6000fd5b50505050505050565b6000806000600115156109d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cb90612450565b60405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663570e30e1336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610a4d919061223a565b602060405180830381600087803b158015610a6757600080fd5b505af1158015610a7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a9f9190810190611de9565b905060011515811515141515610aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae190612410565b60405180910390fd5b60009350600192506004600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633c85380f6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610b7a57600080fd5b505af1158015610b8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb29190810190611e12565b101515610e0057600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e36ed7b3866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610c30919061223a565b600060405180830381600087803b158015610c4a57600080fd5b505af1158015610c5e573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dab6ce6a866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610cd9919061223a565b602060405180830381600087803b158015610cf357600080fd5b505af1158015610d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2b9190810190611e12565b9250610d42600260046117e290919063ffffffff16565b91508183101515610dfb57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bdfd9877866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610dc4919061223a565b600060405180830381600087803b158015610dde57600080fd5b505af1158015610df2573d6000803e3d6000fd5b50505050600193505b610eae565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bdfd9877866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401610e77919061223a565b600060405180830381600087803b158015610e9157600080fd5b505af1158015610ea5573d6000803e3d6000fd5b50505050600193505b8383935093505050915091565b60008660ff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000600381101515610f1157fe5b602091828204019190069054906101000a900460ff1660ff161480610fa057508660ff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001600381101515610f8557fe5b602091828204019190069054906101000a900460ff1660ff16145b8061101557508660ff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016002600381101515610ffa57fe5b602091828204019190069054906101000a900460ff1660ff16145b1515611056576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104d90612490565b60405180910390fd5b8686868686604051602001808660ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018484808284378201915050828152602001955050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561112d5780518252602082019150602081019050602083039250611108565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060036000826000191660001916815260200190815260200160002060000160149054906101000a900460ff1615156111c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c0906123f0565b60405180910390fd5b60036000826000191660001916815260200190815260200160002060010160008360ff1660ff1681526020019081526020016000203390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550507f43c853095c2752648493c88b4baac4d580d2594ffb00c6f1d4242d844514f78386868686866040516112999594939291906122d5565b60405180910390a16003806000836000191660001916815260200190815260200160002060010160008460ff1660ff16815260200190815260200160002080549050101515611360577fe23f5229de535c091e3b7bec2665f5d698192d3b31393066e8987b7a05076b6c86868686866040516113199594939291906122d5565b60405180910390a161135f8686868080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505085856117f8565b5b50505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cd905dff6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156113f157600080fd5b505af1158015611405573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114299190810190611de9565b905090565b60008061143a336118f0565b91508186868686604051602001808660ff1660ff167f01000000000000000000000000000000000000000000000000000000000000000281526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018484808284378201915050828152602001955050505050506040516020818303038152906040526040518082805190602001908083835b60208310151561151357805182526020820191506020810190506020830392506114ee565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905060408051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020016001151581525060036000836000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff0219169083151502179055509050507f3ed01f2c3fc24c6b329d931e35b03e390d23497d22b3f90e15b600343e93df11828787878760405161162c9594939291906124cb565b60405180910390a1505050505050565b611644611a52565b61164c611a52565b611655836118f0565b81600060038110151561166457fe5b602002019060ff16908160ff168152505080600060038110151561168457fe5b602002015181600160038110151561169857fe5b602002019060ff16908160ff16815250505b8060006003811015156116b957fe5b602002015160ff168160016003811015156116d057fe5b602002015160ff16141561170c576116e7836118f0565b8160016003811015156116f657fe5b602002019060ff16908160ff16815250506116aa565b80600160038110151561171b57fe5b602002015181600260038110151561172f57fe5b602002019060ff16908160ff16815250505b80600060038110151561175057fe5b602002015160ff1681600260038110151561176757fe5b602002015160ff1614806117a6575080600160038110151561178557fe5b602002015160ff1681600260038110151561179c57fe5b602002015160ff16145b156117d9576117b4836118f0565b8160026003811015156117c357fe5b602002019060ff16908160ff1681525050611741565b80915050919050565b600081838115156117ef57fe5b04905092915050565b6001151561183b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183290612450565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634337bdd4858585856040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016118b89493929190612323565b600060405180830381600087803b1580156118d257600080fd5b505af11580156118e6573d6000803e3d6000fd5b5050505050505050565b6000806000600a91508160ff166001601481819054906101000a900460ff168092919060010191906101000a81548160ff021916908360ff16021790555060ff16430340856040516020018083600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401925050506040516020818303038152906040526040518082805190602001908083835b6020831015156119d357805182526020820191506020810190506020830392506119ae565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060019004811515611a0d57fe5b06905060fa600160149054906101000a900460ff1660ff161115611a48576000600160146101000a81548160ff021916908360ff1602179055505b8092505050919050565b606060405190810160405280600390602082028038833980820191505090505090565b826003601f01602090048101928215611afe5791602002820160005b83821115611acf57835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302611a91565b8015611afc5782816101000a81549060ff0219169055600101602081600001049283019260010302611acf565b505b509050611b0b9190611b0f565b5090565b611b3c91905b80821115611b3857600081816101000a81549060ff021916905550600101611b15565b5090565b90565b6000611b4b823561263a565b905092915050565b600082601f8301121515611b6657600080fd5b8151611b79611b7482612546565b612519565b9150818183526020840193506020810190508360005b83811015611bbf5781518601611ba58882611c29565b845260208401935060208301925050600181019050611b8f565b5050505092915050565b6000611bd5825161265a565b905092915050565b60008083601f8401121515611bf157600080fd5b8235905067ffffffffffffffff811115611c0a57600080fd5b602083019150836001820283011115611c2257600080fd5b9250929050565b600082601f8301121515611c3c57600080fd5b8151611c4f611c4a8261256e565b612519565b91508082526020830160208301858383011115611c6b57600080fd5b611c7683828461268c565b50505092915050565b6000611c8b8235612666565b905092915050565b6000611c9f8251612666565b905092915050565b6000611cb38235612670565b905092915050565b600060208284031215611ccd57600080fd5b6000611cdb84828501611b3f565b91505092915050565b600080600060408486031215611cf957600080fd5b6000611d0786828701611b3f565b935050602084013567ffffffffffffffff811115611d2457600080fd5b611d3086828701611bdd565b92509250509250925092565b60008060008060608587031215611d5257600080fd5b6000611d6087828801611b3f565b945050602085013567ffffffffffffffff811115611d7d57600080fd5b611d8987828801611bdd565b93509350506040611d9c87828801611c7f565b91505092959194509250565b600060208284031215611dba57600080fd5b600082015167ffffffffffffffff811115611dd457600080fd5b611de084828501611b53565b91505092915050565b600060208284031215611dfb57600080fd5b6000611e0984828501611bc9565b91505092915050565b600060208284031215611e2457600080fd5b6000611e3284828501611c93565b91505092915050565b60008060008060008060a08789031215611e5457600080fd5b6000611e6289828a01611ca7565b9650506020611e7389828a01611b3f565b955050604087013567ffffffffffffffff811115611e9057600080fd5b611e9c89828a01611bdd565b94509450506060611eaf89828a01611c7f565b9250506080611ec089828a01611ca7565b9150509295509295509295565b611ed6816125f7565b82525050565b6000611ee7826125b1565b80845260208401935083602082028501611f008561259a565b60005b84811015611f39578383038852611f1b838351612004565b9250611f26826125dd565b9150602088019750600181019050611f03565b508196508694505050505092915050565b611f53816125bc565b611f5c826125a7565b60005b82811015611f8e57611f7285835161222b565b611f7b826125ea565b9150602085019450600181019050611f5f565b5050505050565b611f9e81612617565b82525050565b6000828452602084019350611fba83858461267d565b611fc3836126bf565b840190509392505050565b6000611fd9826125d2565b808452611fed81602086016020860161268c565b611ff6816126bf565b602085010191505092915050565b600061200f826125c7565b80845261202381602086016020860161268c565b61202c816126bf565b602085010191505092915050565b6000602f82527f466c69676874206f722074696d657374616d7020646f206e6f74206d6174636860208301527f206f7261636c65207265717565737400000000000000000000000000000000006040830152606082019050919050565b6000602582527f4169726c696e6520686173206e6f74207061696420726567697374726174696f60208301527f6e206665650000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000601b82527f4e6f74207265676973746572656420617320616e206f7261636c6500000000006020830152604082019050919050565b6000602582527f436f6e74726163742069732063757272656e746c79206e6f74206f706572617460208301527f696f6e616c0000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000601c82527f526567697374726174696f6e20666565206973207265717569726564000000006020830152604082019050919050565b6000602382527f496e64657820646f6573206e6f74206d61746368206f7261636c65207265717560208301527f65737400000000000000000000000000000000000000000000000000000000006040830152606082019050919050565b61222581612623565b82525050565b6122348161262d565b82525050565b600060208201905061224f6000830184611ecd565b92915050565b600060608201905061226a6000830187611ecd565b6122776020830186611ecd565b818103604083015261228a818486611fa4565b905095945050505050565b60006060820190506122aa6000830187611ecd565b81810360208301526122bd818587611fa4565b90506122cc604083018461221c565b95945050505050565b60006080820190506122ea6000830188611ecd565b81810360208301526122fd818688611fa4565b905061230c604083018561221c565b612319606083018461222b565b9695505050505050565b60006080820190506123386000830187611ecd565b818103602083015261234a8186611fce565b9050612359604083018561221c565b612366606083018461222b565b95945050505050565b600060208201905081810360008301526123898184611edc565b905092915050565b60006060820190506123a66000830184611f4a565b92915050565b60006020820190506123c16000830184611f95565b92915050565b60006040820190506123dc6000830185611f95565b6123e9602083018461221c565b9392505050565b600060208201905081810360008301526124098161203a565b9050919050565b6000602082019050818103600083015261242981612097565b9050919050565b60006020820190508181036000830152612449816120f4565b9050919050565b600060208201905081810360008301526124698161212b565b9050919050565b6000602082019050818103600083015261248981612188565b9050919050565b600060208201905081810360008301526124a9816121bf565b9050919050565b60006020820190506124c5600083018461221c565b92915050565b60006080820190506124e0600083018861222b565b6124ed6020830187611ecd565b8181036040830152612500818587611fa4565b905061250f606083018461221c565b9695505050505050565b6000604051905081810181811067ffffffffffffffff8211171561253c57600080fd5b8060405250919050565b600067ffffffffffffffff82111561255d57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561258557600080fd5b601f19601f8301169050602081019050919050565b6000602082019050919050565b6000819050919050565b600081519050919050565b600060039050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60008115159050919050565b6000819050919050565b600060ff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60008115159050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156126aa57808201518184015260208101905061268f565b838111156126b9576000848401525b50505050565b6000601f19601f83011690509190505600a265627a7a72305820789a865902cd3e1d55cce681b783912abbc890964f6bf986db70fdc988d548ad6c6578706572696d656e74616cf50037","sourceMap":"636:11995:0:-;;;7491:1;7469:23;;;;;;;;;;;;;;;;;;;;3552:143;8:9:-1;5:2;;;30:1;27;20:12;5:2;3552:143:0;;;;;;;;;;;;;;;;;;;;;;3619:10;3603:13;;:26;;;;;;;;;;;;;;;;;;3675:12;3639:16;;:49;;;;;;;;;;;;;;;;;;3552:143;636:11995;;5:122:-1;;83:39;114:6;108:13;83:39;;;74:48;;68:59;;;;;134:263;;249:2;237:9;228:7;224:23;220:32;217:2;;;265:1;262;255:12;217:2;300:1;317:64;373:7;364:6;353:9;349:22;317:64;;;307:74;;279:108;211:186;;;;;404:128;;484:42;477:5;473:54;462:65;;456:76;;;;636:11995:0;;;;;;;","deployedSourceMap":"636:11995:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6715:148;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6715:148:0;;;;;;;;;;;;;;;;;;;;5730:146;;;;;;;;;;;;;;;;;;;9119:427;;;;;;5435:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5435:193:0;;;;;;;;;;;;;;;;;;;5964:122;;;;;;9552:190;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9552:190:0;;;;;;;;;;;;;;;;;;;;7545:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7545:50:0;;;;;;;;;;;;;;;;;;;;6489:161;;;;;;;;;;;;;;;;;;;4525:834;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4525:834:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10064:1291;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10064:1291:0;;;;;;;;;;;;;;;;;;;3999:149;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3999:149:0;;;;;;;;;;;;;;;;;;;;6935:436;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6935:436:0;;;;;;;;;;;;;;;;;;;6715:148;6797:8;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;6821:16;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6821:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6821:35:0;;;;;;39:16:-1;36:1;17:17;2:54;6821:35:0;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;6821:35:0;;;;;;;;;;6715:148;:::o;5730:146::-;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;5821:16;;;;;;;;;;;:21;;;5849:9;5860:7;5821:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5821:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5821:47:0;;;;;5730:146;:::o;9119:427::-;9407:23;;:::i;:::-;7588:7;9334:9;:29;;9326:70;;;;;;;;;;;;;;;;;;;;;;;;9433:27;9449:10;9433:15;:27::i;:::-;9407:53;;9493:46;;;;;;;;;9515:4;9493:46;;;;;;9530:7;9493:46;;;9471:7;:19;9479:10;9471:19;;;;;;;;;;;;;;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;9119:427;:::o;5435:193::-;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;5562:16;;;;;;;;;;;:31;;;5594:7;5603:6;;5611:9;5562:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5562:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5562:59:0;;;;5435:193;;;;:::o;5964:122::-;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;6046:16;;;;;;;;;;;:20;;;6067:10;6046:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6046:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6046:32:0;;;;5964:122::o;9552:190::-;9598:8;;:::i;:::-;9626:7;:19;9634:10;9626:19;;;;;;;;;;;;;;;:32;;;;;;;;;;;;9618:72;;;;;;;;;;;;;;;;;;;;;;;;9708:7;:19;9716:10;9708:19;;;;;;;;;;;;;;;:27;;9701:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9552:190;:::o;7545:50::-;7588:7;7545:50;:::o;6489:161::-;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;6594:16;;;;;;;;;;;:20;;;6615:10;6627:7;6636:6;;6594:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6594:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6594:49:0;;;;6489:161;;;:::o;4525:834::-;4662:12;4676:13;4983:24;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;3006:27;3036:16;;;;;;;;;;;:39;;;3076:10;3036:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3036:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3036:51:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;3036:51:0;;;;;;;;;3006:81;;3131:4;3105:30;;:22;:30;;;3097:80;;;;;;;;;;;;;;;;;;;;;;;;4715:5;4705:15;;4738:1;4730:9;;1527:1;4754:16;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4754:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4754:35:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4754:35:0;;;;;;;;;:75;;4750:569;;;4845:16;;;;;;;;;;;:38;;;4884:7;4845:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4845:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4845:47:0;;;;4915:16;;;;;;;;;;;:45;;;4961:7;4915:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4915:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4915:54:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4915:54:0;;;;;;;;;4907:62;;5010:43;5051:1;1527;5010:40;;:43;;;;:::i;:::-;4983:70;;5081:19;5072:5;:28;;5068:140;;;5120:16;;;;;;;;;;;:32;;;5153:7;5120:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5120:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5120:41:0;;;;5189:4;5179:14;;5068:140;4750:569;;;5239:16;;;;;;;;;;;:32;;;5272:7;5239:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5239:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5239:41:0;;;;5304:4;5294:14;;4750:569;5337:7;5346:5;5329:23;;;;2497:1;4525:834;;;;:::o;10064:1291::-;10605:11;10457:5;10423:39;;:7;:19;10431:10;10423:19;;;;;;;;;;;;;;;:27;;10451:1;10423:30;;;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;10422:86;;;;10502:5;10468:39;;:7;:19;10476:10;10468:19;;;;;;;;;;;;;;;:27;;10496:1;10468:30;;;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;10422:86;:131;;;;10547:5;10513:39;;:7;:19;10521:10;10513:19;;;;;;;;;;;;;;;:27;;10541:1;10513:30;;;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;10422:131;10414:179;;;;;;;;;;;;;;;;;;;;;;;;10646:5;10653:7;10662:6;;10670:9;10629:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;10629:51:0;;;10619:62;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;10619:62:0;;;;;;;;;;;;;;;;10605:76;;10699:15;:20;10715:3;10699:20;;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;10691:87;;;;;;;;;;;;;;;;;;;;;;;;10789:15;:20;10805:3;10789:20;;;;;;;;;;;;;;;;;:30;;:42;10820:10;10789:42;;;;;;;;;;;;;;;10837:10;10789:59;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;10789:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11003:52;11016:7;11025:6;;11033:9;11044:10;11003:52;;;;;;;;;;;;;;;;;;;7703:1;11069:15;:20;11085:3;11069:20;;;;;;;;;;;;;;;;;:30;;:42;11100:10;11069:42;;;;;;;;;;;;;;;:49;;;;:66;;11065:284;;;11157:56;11174:7;11183:6;;11191:9;11202:10;11157:56;;;;;;;;;;;;;;;;;;;11279:59;11299:7;11308:6;;11279:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11316:9;11327:10;11279:19;:59::i;:::-;11065:284;10064:1291;;;;;;;:::o;3999:149::-;4044:4;4067:16;;;;;;;;;;;:30;;;:32;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4067:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4067:32:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;4067:32:0;;;;;;;;;4060:39;;3999:149;:::o;6935:436::-;7032:11;7140;7046:26;7061:10;7046:14;:26::i;:::-;7032:40;;7181:5;7188:7;7197:6;;7205:9;7164:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7164:51:0;;;7154:62;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;7154:62:0;;;;;;;;;;;;;;;;7140:76;;7249:51;;;;;;;;;7274:10;7249:51;;;;;;7294:4;7249:51;;;;;7226:15;:20;7242:3;7226:20;;;;;;;;;;;;;;;;;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7316:48;7330:5;7337:7;7346:6;;7354:9;7316:48;;;;;;;;;;;;;;;;;;;6935:436;;;;;;:::o;11614:484::-;11673:8;;:::i;:::-;11693:23;;:::i;:::-;11739;11754:7;11739:14;:23::i;:::-;11726:7;11734:1;11726:10;;;;;;;;;;;;:36;;;;;;;;;;;11786:7;11794:1;11786:10;;;;;;;;;;;;;11773:7;11781:1;11773:10;;;;;;;;;;;;:23;;;;;;;;;;;11806:93;11826:7;11834:1;11826:10;;;;;;;;;;;;;11812:24;;:7;11820:1;11812:10;;;;;;;;;;;;;:24;;;11806:93;;;11865:23;11880:7;11865:14;:23::i;:::-;11852:7;11860:1;11852:10;;;;;;;;;;;;:36;;;;;;;;;;;11806:93;;;11922:7;11930:1;11922:10;;;;;;;;;;;;;11909:7;11917:1;11909:10;;;;;;;;;;;;:23;;;;;;;;;;;11942:125;11963:7;11971:1;11963:10;;;;;;;;;;;;;11949:24;;:7;11957:1;11949:10;;;;;;;;;;;;;:24;;;11948:56;;;;11993:7;12001:1;11993:10;;;;;;;;;;;;;11979:24;;:7;11987:1;11979:10;;;;;;;;;;;;;:24;;;11948:56;11942:125;;;12033:23;12048:7;12033:14;:23::i;:::-;12020:7;12028:1;12020:10;;;;;;;;;;;;:36;;;;;;;;;;;11942:125;;;12084:7;12077:14;;11614:484;;;;:::o;665:283:2:-;725:7;941:2;936;:7;;;;;;;;929:14;;665:283;;;;:::o;6169:232:0:-;2441:4;2433:54;;;;;;;;;;;;;;;;;;;;;;;;6319:16;;;;;;;;;;;:35;;;6355:7;6364:6;6372:9;6383:10;6319:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6319:75:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6319:75:0;;;;6169:232;;;;:::o;12168:446::-;12227:5;12244:14;12346:12;12261:2;12244:19;;12450:8;12367:91;;12427:5;;:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12412:22;;:12;:22;12402:33;12437:7;12385:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12385:60:0;;;12375:71;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12375:71:0;;;;;;;;;;;;;;;;12367:80;;;:91;;;;;;;;12346:113;;12482:3;12474:5;;;;;;;;;;;:11;;;12470:114;;;12509:1;12501:5;;:9;;;;;;;;;;;;;;;;;;12470:114;12601:6;12594:13;;12168:446;;;;;:::o;636:11995::-;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;636:11995:0;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:118:-1:-;;72:46;110:6;97:20;72:46;;;63:55;;57:66;;;;;147:704;;281:3;274:4;266:6;262:17;258:27;251:35;248:2;;;299:1;296;289:12;248:2;329:6;323:13;351:86;366:70;429:6;366:70;;;351:86;;;342:95;;454:5;479:6;472:5;465:21;509:4;501:6;497:17;487:27;;531:4;526:3;522:14;515:21;;584:6;617:1;602:243;627:6;624:1;621:13;602:243;;;703:3;697:10;689:6;685:23;727:54;777:3;765:10;727:54;;;722:3;715:67;805:4;800:3;796:14;789:21;;833:4;828:3;824:14;817:21;;659:186;649:1;646;642:9;637:14;;602:243;;;606:14;241:610;;;;;;;;859:116;;934:36;962:6;956:13;934:36;;;925:45;;919:56;;;;;997:336;;;1112:3;1105:4;1097:6;1093:17;1089:27;1082:35;1079:2;;;1130:1;1127;1120:12;1079:2;1163:6;1150:20;1140:30;;1190:18;1182:6;1179:30;1176:2;;;1222:1;1219;1212:12;1176:2;1256:4;1248:6;1244:17;1232:29;;1306:3;1299;1291:6;1287:16;1277:8;1273:31;1270:40;1267:2;;;1323:1;1320;1313:12;1267:2;1072:261;;;;;;1342:436;;1451:3;1444:4;1436:6;1432:17;1428:27;1421:35;1418:2;;;1469:1;1466;1459:12;1418:2;1499:6;1493:13;1521:61;1536:45;1574:6;1536:45;;;1521:61;;;1512:70;;1602:6;1595:5;1588:21;1638:4;1630:6;1626:17;1671:4;1664:5;1660:16;1706:3;1697:6;1692:3;1688:16;1685:25;1682:2;;;1723:1;1720;1713:12;1682:2;1733:39;1765:6;1760:3;1755;1733:39;;;1411:367;;;;;;;;1786:118;;1853:46;1891:6;1878:20;1853:46;;;1844:55;;1838:66;;;;;1911:122;;1989:39;2020:6;2014:13;1989:39;;;1980:48;;1974:59;;;;;2040:114;;2105:44;2141:6;2128:20;2105:44;;;2096:53;;2090:64;;;;;2161:241;;2265:2;2253:9;2244:7;2240:23;2236:32;2233:2;;;2281:1;2278;2271:12;2233:2;2316:1;2333:53;2378:7;2369:6;2358:9;2354:22;2333:53;;;2323:63;;2295:97;2227:175;;;;;2409:492;;;;2550:2;2538:9;2529:7;2525:23;2521:32;2518:2;;;2566:1;2563;2556:12;2518:2;2601:1;2618:53;2663:7;2654:6;2643:9;2639:22;2618:53;;;2608:63;;2580:97;2736:2;2725:9;2721:18;2708:32;2760:18;2752:6;2749:30;2746:2;;;2792:1;2789;2782:12;2746:2;2820:65;2877:7;2868:6;2857:9;2853:22;2820:65;;;2802:83;;;;2687:204;2512:389;;;;;;2908:617;;;;;3066:2;3054:9;3045:7;3041:23;3037:32;3034:2;;;3082:1;3079;3072:12;3034:2;3117:1;3134:53;3179:7;3170:6;3159:9;3155:22;3134:53;;;3124:63;;3096:97;3252:2;3241:9;3237:18;3224:32;3276:18;3268:6;3265:30;3262:2;;;3308:1;3305;3298:12;3262:2;3336:65;3393:7;3384:6;3373:9;3369:22;3336:65;;;3318:83;;;;3203:204;3438:2;3456:53;3501:7;3492:6;3481:9;3477:22;3456:53;;;3446:63;;3417:98;3028:497;;;;;;;;3532:404;;3678:2;3666:9;3657:7;3653:23;3649:32;3646:2;;;3694:1;3691;3684:12;3646:2;3750:1;3739:9;3735:17;3729:24;3773:18;3765:6;3762:30;3759:2;;;3805:1;3802;3795:12;3759:2;3825:95;3912:7;3903:6;3892:9;3888:22;3825:95;;;3815:105;;3708:218;3640:296;;;;;3943:257;;4055:2;4043:9;4034:7;4030:23;4026:32;4023:2;;;4071:1;4068;4061:12;4023:2;4106:1;4123:61;4176:7;4167:6;4156:9;4152:22;4123:61;;;4113:71;;4085:105;4017:183;;;;;4207:263;;4322:2;4310:9;4301:7;4297:23;4293:32;4290:2;;;4338:1;4335;4328:12;4290:2;4373:1;4390:64;4446:7;4437:6;4426:9;4422:22;4390:64;;;4380:74;;4352:108;4284:186;;;;;4477:861;;;;;;;4665:3;4653:9;4644:7;4640:23;4636:33;4633:2;;;4682:1;4679;4672:12;4633:2;4717:1;4734:51;4777:7;4768:6;4757:9;4753:22;4734:51;;;4724:61;;4696:95;4822:2;4840:53;4885:7;4876:6;4865:9;4861:22;4840:53;;;4830:63;;4801:98;4958:2;4947:9;4943:18;4930:32;4982:18;4974:6;4971:30;4968:2;;;5014:1;5011;5004:12;4968:2;5042:65;5099:7;5090:6;5079:9;5075:22;5042:65;;;5024:83;;;;4909:204;5144:2;5162:53;5207:7;5198:6;5187:9;5183:22;5162:53;;;5152:63;;5123:98;5252:3;5271:51;5314:7;5305:6;5294:9;5290:22;5271:51;;;5261:61;;5231:97;4627:711;;;;;;;;;5345:110;5418:31;5443:5;5418:31;;;5413:3;5406:44;5400:55;;;5491:773;;5638:60;5692:5;5638:60;;;5716:6;5711:3;5704:19;5740:4;5735:3;5731:14;5724:21;;5788:3;5830:4;5822:6;5818:17;5813:3;5809:27;5856:62;5912:5;5856:62;;;5939:1;5924:301;5949:6;5946:1;5943:13;5924:301;;;6011:9;6005:4;6001:20;5996:3;5989:33;6037:70;6102:4;6093:6;6087:13;6037:70;;;6029:78;;6124:66;6183:6;6124:66;;;6114:76;;6213:4;6208:3;6204:14;6197:21;;5971:1;5968;5964:9;5959:14;;5924:301;;;5928:14;6238:4;6231:11;;6255:3;6248:10;;5617:647;;;;;;;;;6301:507;6420:50;6464:5;6420:50;;;6516:52;6562:5;6516:52;;;6589:1;6574:222;6599:6;6596:1;6593:13;6574:222;;;6639:49;6684:3;6675:6;6669:13;6639:49;;;6705:56;6754:6;6705:56;;;6695:66;;6784:4;6779:3;6775:14;6768:21;;6621:1;6618;6614:9;6609:14;;6574:222;;;6578:14;6399:409;;;;;6816:101;6883:28;6905:5;6883:28;;;6878:3;6871:41;6865:52;;;6947:263;;7057:6;7052:3;7045:19;7081:4;7076:3;7072:14;7065:21;;7111:43;7147:6;7142:3;7135:5;7111:43;;;7175:29;7197:6;7175:29;;;7170:3;7166:39;7159:46;;7039:171;;;;;;7217:300;;7319:39;7352:5;7319:39;;;7375:6;7370:3;7363:19;7387:63;7443:6;7436:4;7431:3;7427:14;7420:4;7413:5;7409:16;7387:63;;;7482:29;7504:6;7482:29;;;7475:4;7470:3;7466:14;7462:50;7455:57;;7299:218;;;;;;7524:292;;7622:35;7651:5;7622:35;;;7674:6;7669:3;7662:19;7686:63;7742:6;7735:4;7730:3;7726:14;7719:4;7712:5;7708:16;7686:63;;;7781:29;7803:6;7781:29;;;7774:4;7769:3;7765:14;7761:50;7754:57;;7602:214;;;;;;7824:397;;7979:2;7974:3;7967:15;8016:66;8011:2;8006:3;8002:12;7995:88;8117:66;8112:2;8107:3;8103:12;8096:88;8212:2;8207:3;8203:12;8196:19;;7960:261;;;;8230:397;;8385:2;8380:3;8373:15;8422:66;8417:2;8412:3;8408:12;8401:88;8523:66;8518:2;8513:3;8509:12;8502:88;8618:2;8613:3;8609:12;8602:19;;8366:261;;;;8636:296;;8791:2;8786:3;8779:15;8828:66;8823:2;8818:3;8814:12;8807:88;8923:2;8918:3;8914:12;8907:19;;8772:160;;;;8941:397;;9096:2;9091:3;9084:15;9133:66;9128:2;9123:3;9119:12;9112:88;9234:66;9229:2;9224:3;9220:12;9213:88;9329:2;9324:3;9320:12;9313:19;;9077:261;;;;9347:296;;9502:2;9497:3;9490:15;9539:66;9534:2;9529:3;9525:12;9518:88;9634:2;9629:3;9625:12;9618:19;;9483:160;;;;9652:397;;9807:2;9802:3;9795:15;9844:66;9839:2;9834:3;9830:12;9823:88;9945:66;9940:2;9935:3;9931:12;9924:88;10040:2;10035:3;10031:12;10024:19;;9788:261;;;;10057:110;10130:31;10155:5;10130:31;;;10125:3;10118:44;10112:55;;;10174:104;10243:29;10266:5;10243:29;;;10238:3;10231:42;10225:53;;;10285:193;;10393:2;10382:9;10378:18;10370:26;;10407:61;10465:1;10454:9;10450:17;10441:6;10407:61;;;10364:114;;;;;10485:503;;10679:2;10668:9;10664:18;10656:26;;10693:61;10751:1;10740:9;10736:17;10727:6;10693:61;;;10765:62;10823:2;10812:9;10808:18;10799:6;10765:62;;;10875:9;10869:4;10865:20;10860:2;10849:9;10845:18;10838:48;10900:78;10973:4;10964:6;10956;10900:78;;;10892:86;;10650:338;;;;;;;;10995:503;;11189:2;11178:9;11174:18;11166:26;;11203:61;11261:1;11250:9;11246:17;11237:6;11203:61;;;11312:9;11306:4;11302:20;11297:2;11286:9;11282:18;11275:48;11337:78;11410:4;11401:6;11393;11337:78;;;11329:86;;11426:62;11484:2;11473:9;11469:18;11460:6;11426:62;;;11160:338;;;;;;;;11505:597;;11723:3;11712:9;11708:19;11700:27;;11738:61;11796:1;11785:9;11781:17;11772:6;11738:61;;;11847:9;11841:4;11837:20;11832:2;11821:9;11817:18;11810:48;11872:78;11945:4;11936:6;11928;11872:78;;;11864:86;;11961:62;12019:2;12008:9;12004:18;11995:6;11961:62;;;12034:58;12088:2;12077:9;12073:18;12064:6;12034:58;;;11694:408;;;;;;;;;12109:577;;12317:3;12306:9;12302:19;12294:27;;12332:61;12390:1;12379:9;12375:17;12366:6;12332:61;;;12441:9;12435:4;12431:20;12426:2;12415:9;12411:18;12404:48;12466:68;12529:4;12520:6;12466:68;;;12458:76;;12545:62;12603:2;12592:9;12588:18;12579:6;12545:62;;;12618:58;12672:2;12661:9;12657:18;12648:6;12618:58;;;12288:398;;;;;;;;12693:365;;12863:2;12852:9;12848:18;12840:26;;12913:9;12907:4;12903:20;12899:1;12888:9;12884:17;12877:47;12938:110;13043:4;13034:6;12938:110;;;12930:118;;12834:224;;;;;13065:277;;13215:2;13204:9;13200:18;13192:26;;13229:103;13329:1;13318:9;13314:17;13305:6;13229:103;;;13186:156;;;;;13349:181;;13451:2;13440:9;13436:18;13428:26;;13465:55;13517:1;13506:9;13502:17;13493:6;13465:55;;;13422:108;;;;;13537:282;;13667:2;13656:9;13652:18;13644:26;;13681:55;13733:1;13722:9;13718:17;13709:6;13681:55;;;13747:62;13805:2;13794:9;13790:18;13781:6;13747:62;;;13638:181;;;;;;13826:387;;14007:2;13996:9;13992:18;13984:26;;14057:9;14051:4;14047:20;14043:1;14032:9;14028:17;14021:47;14082:121;14198:4;14082:121;;;14074:129;;13978:235;;;;14220:387;;14401:2;14390:9;14386:18;14378:26;;14451:9;14445:4;14441:20;14437:1;14426:9;14422:17;14415:47;14476:121;14592:4;14476:121;;;14468:129;;14372:235;;;;14614:387;;14795:2;14784:9;14780:18;14772:26;;14845:9;14839:4;14835:20;14831:1;14820:9;14816:17;14809:47;14870:121;14986:4;14870:121;;;14862:129;;14766:235;;;;15008:387;;15189:2;15178:9;15174:18;15166:26;;15239:9;15233:4;15229:20;15225:1;15214:9;15210:17;15203:47;15264:121;15380:4;15264:121;;;15256:129;;15160:235;;;;15402:387;;15583:2;15572:9;15568:18;15560:26;;15633:9;15627:4;15623:20;15619:1;15608:9;15604:17;15597:47;15658:121;15774:4;15658:121;;;15650:129;;15554:235;;;;15796:387;;15977:2;15966:9;15962:18;15954:26;;16027:9;16021:4;16017:20;16013:1;16002:9;15998:17;15991:47;16052:121;16168:4;16052:121;;;16044:129;;15948:235;;;;16190:193;;16298:2;16287:9;16283:18;16275:26;;16312:61;16370:1;16359:9;16355:17;16346:6;16312:61;;;16269:114;;;;;16390:597;;16608:3;16597:9;16593:19;16585:27;;16623:57;16677:1;16666:9;16662:17;16653:6;16623:57;;;16691:62;16749:2;16738:9;16734:18;16725:6;16691:62;;;16801:9;16795:4;16791:20;16786:2;16775:9;16771:18;16764:48;16826:78;16899:4;16890:6;16882;16826:78;;;16818:86;;16915:62;16973:2;16962:9;16958:18;16949:6;16915:62;;;16579:408;;;;;;;;;16994:256;;17056:2;17050:9;17040:19;;17094:4;17086:6;17082:17;17193:6;17181:10;17178:22;17157:18;17145:10;17142:34;17139:62;17136:2;;;17214:1;17211;17204:12;17136:2;17234:10;17230:2;17223:22;17034:216;;;;;17257:264;;17422:18;17414:6;17411:30;17408:2;;;17454:1;17451;17444:12;17408:2;17483:4;17475:6;17471:17;17463:25;;17511:4;17505;17501:15;17493:23;;17345:176;;;;17528:255;;17668:18;17660:6;17657:30;17654:2;;;17700:1;17697;17690:12;17654:2;17744:4;17740:9;17733:4;17725:6;17721:17;17717:33;17709:41;;17773:4;17767;17763:15;17755:23;;17591:192;;;;17792:127;;17907:4;17899:6;17895:17;17884:28;;17876:43;;;;17930:106;;18023:6;18012:17;;18004:32;;;;18045:113;;18147:5;18141:12;18131:22;;18125:33;;;;18165:94;;18251:3;18241:13;;18235:24;;;;18266:88;;18343:5;18337:12;18327:22;;18321:33;;;;18361:92;;18442:5;18436:12;18426:22;;18420:33;;;;18461:128;;18578:4;18570:6;18566:17;18555:28;;18548:41;;;;18598:118;;18705:4;18697:6;18693:17;18682:28;;18675:41;;;;18724:128;;18804:42;18797:5;18793:54;18782:65;;18776:76;;;;18859:92;;18939:5;18932:13;18925:21;18914:32;;18908:43;;;;18958:79;;19027:5;19016:16;;19010:27;;;;19044:88;;19122:4;19115:5;19111:16;19100:27;;19094:38;;;;19139:128;;19219:42;19212:5;19208:54;19197:65;;19191:76;;;;19274:92;;19354:5;19347:13;19340:21;19329:32;;19323:43;;;;19373:79;;19442:5;19431:16;;19425:27;;;;19459:88;;19537:4;19530:5;19526:16;19515:27;;19509:38;;;;19555:145;19636:6;19631:3;19626;19613:30;19692:1;19683:6;19678:3;19674:16;19667:27;19606:94;;;;19709:268;19774:1;19781:101;19795:6;19792:1;19789:13;19781:101;;;19871:1;19866:3;19862:11;19856:18;19852:1;19847:3;19843:11;19836:39;19817:2;19814:1;19810:10;19805:15;;19781:101;;;19897:6;19894:1;19891:13;19888:2;;;19962:1;19953:6;19948:3;19944:16;19937:27;19888:2;19758:219;;;;;19985:97;;20073:2;20069:7;20064:2;20057:5;20053:14;20049:28;20039:38;;20033:49;;;","source":"pragma solidity ^0.4.25;\\npragma experimental ABIEncoderV2;\\n\\n// It\'s important to avoid vulnerabilities due to numeric overflow bugs\\n// OpenZeppelin\'s SafeMath library, when used correctly, protects agains such bugs\\n// More info: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2018/november/smart-contract-insecurity-bad-arithmetic/\\n\\nimport \\"../node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol\\";\\nimport \\"../contracts/FlightSuretyData.sol\\";\\n\\n/************************************************** */\\n/* FlightSurety Smart Contract                      */\\n/************************************************** */\\ncontract FlightSuretyApp {\\n    using SafeMath for uint256; // Allow SafeMath functions to be called for all uint256 types (similar to \\"prototype\\" in Javascript)\\n\\n    /********************************************************************************************/\\n    /*                                       DATA VARIABLES                                     */\\n    /********************************************************************************************/\\n\\n    // Flight status codees\\n    uint8 private constant STATUS_CODE_UNKNOWN = 0;\\n    uint8 private constant STATUS_CODE_ON_TIME = 10;\\n    uint8 private constant STATUS_CODE_LATE_AIRLINE = 20;\\n    uint8 private constant STATUS_CODE_LATE_WEATHER = 30;\\n    uint8 private constant STATUS_CODE_LATE_TECHNICAL = 40;\\n    uint8 private constant STATUS_CODE_LATE_OTHER = 50;\\n\\n    uint private constant NUMBER_OF_AIRLINES_FOR_MULTICONSESUS = 4;\\n\\n    address private contractOwner;          // Account used to deploy contract\\n    IFlightSuretyData flightSuretyData;\\n\\n    /********************************************************************************************/\\n    /*                                       FUNCTION MODIFIERS                                 */\\n    /********************************************************************************************/\\n\\n    // Modifiers help avoid duplication of code. They are typically used to validate something\\n    // before a function is allowed to be executed.\\n\\n    /**\\n    * @dev Modifier that requires the \\"operational\\" boolean variable to be \\"true\\"\\n    *      This is used on all state changing functions to pause the contract in\\n    *      the event there is an issue that needs to be fixed\\n    */\\n    modifier requireIsOperational() {\\n         // Modify to call data contract\'s status\\n        require(true, \\"Contract is currently not operational\\");\\n        _;  // All modifiers require an \\"_\\" which indicates where the function body will be added\\n    }\\n\\n    /**\\n    * @dev Modifier that requires the \\"ContractOwner\\" account to be the function caller\\n    */\\n    modifier requireContractOwner() {\\n        require(msg.sender == contractOwner, \\"Caller is not contract owner\\");\\n        _;\\n    }\\n\\n    /**\\n    * @dev Modifier that requires the airline to have paid registration fee to be the function caller\\n    */\\n    modifier requireAirlinePayRegistrationFee() {\\n        bool hasPaidRegistrationFee = flightSuretyData.hasPaidRegistrationFee(msg.sender);\\n        require(hasPaidRegistrationFee == true, \\"Airline has not paid registration fee\\");\\n        _;\\n    }\\n\\n    /********************************************************************************************/\\n    /*                                       CONSTRUCTOR                                        */\\n    /********************************************************************************************/\\n\\n    /**\\n    * @dev Contract constructor\\n    *\\n    */\\n    constructor(address dataContract) public {\\n        contractOwner = msg.sender;\\n        flightSuretyData = FlightSuretyData(dataContract);\\n    }\\n\\n    /********************************************************************************************/\\n    /*                                       UTILITY FUNCTIONS                                  */\\n    /********************************************************************************************/\\n\\n    function isOperational() public view returns(bool) {\\n        return flightSuretyData.isOperational();  // Modify to call data contract\'s status\\n    }\\n\\n    /********************************************************************************************/\\n    /*                                     SMART CONTRACT FUNCTIONS                             */\\n    /********************************************************************************************/\\n\\n\\n   /**\\n    * @dev Add an airline to the registration queue\\n    *\\n    */\\n    function registerAirline(address airline) external\\n        requireIsOperational\\n        requireAirlinePayRegistrationFee\\n        returns(bool success, uint256 votes)\\n    {\\n        success = false;\\n        votes = 1;\\n\\n        if (flightSuretyData.numberOfAirlines() >= NUMBER_OF_AIRLINES_FOR_MULTICONSESUS) {\\n            flightSuretyData.voteToRegisterAirline(airline);\\n\\n            votes = flightSuretyData.getNumberOfRegistrationVotes(airline);\\n            uint numberOfVotesNeeded = NUMBER_OF_AIRLINES_FOR_MULTICONSESUS.div(2);\\n\\n            if (votes >= numberOfVotesNeeded) {\\n                flightSuretyData.registerAirline(airline);\\n                success = true;\\n            }\\n\\n        } else {\\n            flightSuretyData.registerAirline(airline);\\n            success = true;\\n        }\\n\\n        return (success, votes);\\n    }\\n\\n   /**\\n    * @dev Register a future flight for insuring.\\n    *\\n    */\\n    function registerFlight(address airline, string flight, uint256 timestamp) external\\n        requireIsOperational\\n    {\\n        flightSuretyData.registerFlight(airline, flight, timestamp);\\n    }\\n\\n    /**\\n     * @dev An airline has to provide fund to register other airilines.\\n     *\\n     */\\n     function fund(address airline) public payable\\n        requireIsOperational\\n     {\\n         flightSuretyData.fund.value(msg.value)(airline);\\n     }\\n\\n    /**\\n     * @dev Called after oracle has updated flight status\\n     *\\n     */\\n     function withdraw() external payable\\n        requireIsOperational\\n     {\\n         flightSuretyData.pay(msg.sender);\\n     }\\n\\n   /**\\n    * @dev Called after oracle has updated flight status\\n    *\\n    */\\n    function processFlightStatus(address airline, string flight, uint256 timestamp, uint8 statusCode) internal\\n        requireIsOperational\\n    {\\n        flightSuretyData.updateFlightStatus(airline, flight, timestamp, statusCode);\\n    }\\n\\n    /**\\n     * @dev Called when user wants to buy flight insurance\\n     *\\n     */\\n    function buy(address airline, string flight) external payable\\n        requireIsOperational\\n    {\\n        flightSuretyData.buy(msg.sender, airline, flight);\\n    }\\n\\n    /**\\n     * @dev Gets the flight numbers\\n     *\\n     */\\n    function getFlightNumbers() external\\n        requireIsOperational\\n        returns(string[])\\n    {\\n        flightSuretyData.getFlightNumbers();\\n    }\\n\\n    // Generate a request for oracles to fetch flight information\\n    function fetchFlightStatus(address airline, string flight, uint256 timestamp) external {\\n        uint8 index = getRandomIndex(msg.sender);\\n\\n        // Generate a unique key for storing the request\\n        bytes32 key = keccak256(abi.encodePacked(index, airline, flight, timestamp));\\n        oracleResponses[key] = ResponseInfo({requester: msg.sender, isOpen: true});\\n\\n        emit OracleRequest(index, airline, flight, timestamp);\\n    }\\n\\n\\n// region ORACLE MANAGEMENT\\n\\n    // Incremented to add pseudo-randomness at various points\\n    uint8 private nonce = 0;\\n\\n    // Fee to be paid when registering oracle\\n    uint256 public constant REGISTRATION_FEE = 1 ether;\\n\\n    // Number of oracles that must respond for valid status\\n    uint256 private constant MIN_RESPONSES = 3;\\n\\n\\n    struct Oracle {\\n        bool isRegistered;\\n        uint8[3] indexes;\\n    }\\n\\n    // Track all registered oracles\\n    mapping(address => Oracle) private oracles;\\n\\n    // Model for responses from oracles\\n    struct ResponseInfo {\\n        address requester;                              // Account that requested status\\n        bool isOpen;                                    // If open, oracle responses are accepted\\n        mapping(uint8 => address[]) responses;          // Mapping key is the status code reported\\n                                                        // This lets us group responses and identify\\n                                                        // the response that majority of the oracles\\n    }\\n\\n    // Track all oracle responses\\n    // Key = hash(index, flight, timestamp)\\n    mapping(bytes32 => ResponseInfo) private oracleResponses;\\n\\n    // Event fired each time an oracle submits a response\\n    event FlightStatusInfo(address airline, string flight, uint256 timestamp, uint8 status);\\n\\n    event OracleReport(address airline, string flight, uint256 timestamp, uint8 status);\\n\\n    // Event fired when flight status request is submitted\\n    // Oracles track this and if they have a matching index\\n    // they fetch data and submit a response\\n    event OracleRequest(uint8 index, address airline, string flight, uint256 timestamp);\\n\\n    // Register an oracle with the contract\\n    function registerOracle\\n                            (\\n                            )\\n                            external\\n                            payable\\n    {\\n        // Require registration fee\\n        require(msg.value >= REGISTRATION_FEE, \\"Registration fee is required\\");\\n\\n        uint8[3] memory indexes = generateIndexes(msg.sender);\\n\\n        oracles[msg.sender] = Oracle({isRegistered: true, indexes: indexes});\\n    }\\n\\n    function getMyIndexes() view external returns(uint8[3]) {\\n        require(oracles[msg.sender].isRegistered, \\"Not registered as an oracle\\");\\n\\n        return oracles[msg.sender].indexes;\\n    }\\n\\n    // Called by oracle when a response is available to an outstanding request\\n    // For the response to be accepted, there must be a pending request that is open\\n    // and matches one of the three Indexes randomly assigned to the oracle at the\\n    // time of registration (i.e. uninvited oracles are not welcome)\\n    function submitOracleResponse\\n                        (\\n                            uint8 index,\\n                            address airline,\\n                            string flight,\\n                            uint256 timestamp,\\n                            uint8 statusCode\\n                        )\\n                        external\\n    {\\n        require((oracles[msg.sender].indexes[0] == index) || (oracles[msg.sender].indexes[1] == index) || (oracles[msg.sender].indexes[2] == index), \\"Index does not match oracle request\\");\\n\\n\\n        bytes32 key = keccak256(abi.encodePacked(index, airline, flight, timestamp));\\n        require(oracleResponses[key].isOpen, \\"Flight or timestamp do not match oracle request\\");\\n\\n        oracleResponses[key].responses[statusCode].push(msg.sender);\\n\\n        // Information isn\'t considered verified until at least MIN_RESPONSES\\n        // oracles respond with the *** same *** information\\n        emit OracleReport(airline, flight, timestamp, statusCode);\\n        if (oracleResponses[key].responses[statusCode].length >= MIN_RESPONSES) {\\n\\n            emit FlightStatusInfo(airline, flight, timestamp, statusCode);\\n\\n            // Handle flight status as appropriate\\n            processFlightStatus(airline, flight, timestamp, statusCode);\\n        }\\n    }\\n\\n    function getFlightKey(address airline, string flight, uint256 timestamp) pure internal returns(bytes32) {\\n        return keccak256(abi.encodePacked(airline, flight, timestamp));\\n    }\\n\\n    // Returns array of three non-duplicating integers from 0-9\\n    function generateIndexes(address account) internal returns(uint8[3]) {\\n        uint8[3] memory indexes;\\n        indexes[0] = getRandomIndex(account);\\n\\n        indexes[1] = indexes[0];\\n        while(indexes[1] == indexes[0]) {\\n            indexes[1] = getRandomIndex(account);\\n        }\\n\\n        indexes[2] = indexes[1];\\n        while((indexes[2] == indexes[0]) || (indexes[2] == indexes[1])) {\\n            indexes[2] = getRandomIndex(account);\\n        }\\n\\n        return indexes;\\n    }\\n\\n    // Returns array of three non-duplicating integers from 0-9\\n    function getRandomIndex(address account) internal returns (uint8) {\\n        uint8 maxValue = 10;\\n\\n        // Pseudo random number...the incrementing nonce adds variation\\n        uint8 random = uint8(uint256(keccak256(abi.encodePacked(blockhash(block.number - nonce++), account))) % maxValue);\\n\\n        if (nonce > 250) {\\n            nonce = 0;  // Can only fetch blockhashes for last 256 blocks so we adapt\\n        }\\n\\n        return random;\\n    }\\n\\n// endregion\\n\\n}\\n","sourcePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyApp.sol","ast":{"absolutePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyApp.sol","exportedSymbols":{"FlightSuretyApp":[717]},"id":718,"nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.4",".25"],"nodeType":"PragmaDirective","src":"0:24:0"},{"id":2,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"25:33:0"},{"absolutePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol","file":"../node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol","id":3,"nodeType":"ImportDirective","scope":718,"sourceUnit":1582,"src":"350:75:0","symbolAliases":[],"unitAlias":""},{"absolutePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyData.sol","file":"../contracts/FlightSuretyData.sol","id":4,"nodeType":"ImportDirective","scope":718,"sourceUnit":1488,"src":"426:43:0","symbolAliases":[],"unitAlias":""},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":"************************************************ ","fullyImplemented":true,"id":717,"linearizedBaseContracts":[717],"name":"FlightSuretyApp","nodeType":"ContractDefinition","nodes":[{"id":7,"libraryName":{"contractScope":null,"id":5,"name":"SafeMath","nodeType":"UserDefinedTypeName","referencedDeclaration":1581,"src":"673:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_SafeMath_$1581","typeString":"library SafeMath"}},"nodeType":"UsingForDirective","src":"667:27:0","typeName":{"id":6,"name":"uint256","nodeType":"ElementaryTypeName","src":"686:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":true,"id":10,"name":"STATUS_CODE_UNKNOWN","nodeType":"VariableDeclaration","scope":717,"src":"1128:46:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":8,"name":"uint8","nodeType":"ElementaryTypeName","src":"1128:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"30","id":9,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1173:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"private"},{"constant":true,"id":13,"name":"STATUS_CODE_ON_TIME","nodeType":"VariableDeclaration","scope":717,"src":"1180:47:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":11,"name":"uint8","nodeType":"ElementaryTypeName","src":"1180:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3130","id":12,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1225:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"private"},{"constant":true,"id":16,"name":"STATUS_CODE_LATE_AIRLINE","nodeType":"VariableDeclaration","scope":717,"src":"1233:52:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":14,"name":"uint8","nodeType":"ElementaryTypeName","src":"1233:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3230","id":15,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1283:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"constant":true,"id":19,"name":"STATUS_CODE_LATE_WEATHER","nodeType":"VariableDeclaration","scope":717,"src":"1291:52:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":17,"name":"uint8","nodeType":"ElementaryTypeName","src":"1291:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3330","id":18,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1341:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},"value":"30"},"visibility":"private"},{"constant":true,"id":22,"name":"STATUS_CODE_LATE_TECHNICAL","nodeType":"VariableDeclaration","scope":717,"src":"1349:54:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":20,"name":"uint8","nodeType":"ElementaryTypeName","src":"1349:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3430","id":21,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1401:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"visibility":"private"},{"constant":true,"id":25,"name":"STATUS_CODE_LATE_OTHER","nodeType":"VariableDeclaration","scope":717,"src":"1409:50:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":23,"name":"uint8","nodeType":"ElementaryTypeName","src":"1409:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"3530","id":24,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1457:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"private"},{"constant":true,"id":28,"name":"NUMBER_OF_AIRLINES_FOR_MULTICONSESUS","nodeType":"VariableDeclaration","scope":717,"src":"1466:62:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26,"name":"uint","nodeType":"ElementaryTypeName","src":"1466:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"34","id":27,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1527:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"visibility":"private"},{"constant":false,"id":30,"name":"contractOwner","nodeType":"VariableDeclaration","scope":717,"src":"1535:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29,"name":"address","nodeType":"ElementaryTypeName","src":"1535:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"private"},{"constant":false,"id":32,"name":"flightSuretyData","nodeType":"VariableDeclaration","scope":717,"src":"1614:34:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"},"typeName":{"contractScope":null,"id":31,"name":"IFlightSuretyData","nodeType":"UserDefinedTypeName","referencedDeclaration":801,"src":"1614:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"value":null,"visibility":"internal"},{"body":{"id":40,"nodeType":"Block","src":"2373:219:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"74727565","id":35,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2441:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"argumentTypes":null,"hexValue":"436f6e74726163742069732063757272656e746c79206e6f74206f7065726174696f6e616c","id":36,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2447:39:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886","typeString":"literal_string \\"Contract is currently not operational\\""},"value":"Contract is currently not operational"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886","typeString":"literal_string \\"Contract is currently not operational\\""}],"id":34,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"src":"2433:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":37,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2433:54:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38,"nodeType":"ExpressionStatement","src":"2433:54:0"},{"id":39,"nodeType":"PlaceholderStatement","src":"2497:1:0"}]},"documentation":"@dev Modifier that requires the \\"operational\\" boolean variable to be \\"true\\"\\n     This is used on all state changing functions to pause the contract in\\n     the event there is an issue that needs to be fixed","id":41,"name":"requireIsOperational","nodeType":"ModifierDefinition","parameters":{"id":33,"nodeType":"ParameterList","parameters":[],"src":"2370:2:0"},"src":"2341:251:0","visibility":"internal"},{"body":{"id":52,"nodeType":"Block","src":"2733:96:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":47,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":44,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"2751:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":45,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2751:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":46,"name":"contractOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"2765:13:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2751:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"43616c6c6572206973206e6f7420636f6e7472616374206f776e6572","id":48,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2780:30:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_ad5b8255218fc9200bf271049bc5472a1a7a8192290eba60272e432e608ceea3","typeString":"literal_string \\"Caller is not contract owner\\""},"value":"Caller is not contract owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ad5b8255218fc9200bf271049bc5472a1a7a8192290eba60272e432e608ceea3","typeString":"literal_string \\"Caller is not contract owner\\""}],"id":43,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"src":"2743:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":49,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2743:68:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50,"nodeType":"ExpressionStatement","src":"2743:68:0"},{"id":51,"nodeType":"PlaceholderStatement","src":"2821:1:0"}]},"documentation":"@dev Modifier that requires the \\"ContractOwner\\" account to be the function caller","id":53,"name":"requireContractOwner","nodeType":"ModifierDefinition","parameters":{"id":42,"nodeType":"ParameterList","parameters":[],"src":"2730:2:0"},"src":"2701:128:0","visibility":"internal"},{"body":{"id":71,"nodeType":"Block","src":"2996:199:0","statements":[{"assignments":[56],"declarations":[{"constant":false,"id":56,"name":"hasPaidRegistrationFee","nodeType":"VariableDeclaration","scope":72,"src":"3006:27:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55,"name":"bool","nodeType":"ElementaryTypeName","src":"3006:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"id":62,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":59,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"3076:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":60,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3076:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":57,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"3036:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":58,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"hasPaidRegistrationFee","nodeType":"MemberAccess","referencedDeclaration":777,"src":"3036:39:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":61,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3036:51:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"3006:81:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":66,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":64,"name":"hasPaidRegistrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56,"src":"3105:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"74727565","id":65,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3131:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3105:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"4169726c696e6520686173206e6f74207061696420726567697374726174696f6e20666565","id":67,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3137:39:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_0d6501fc701c8894f10bd4931e50125375ca36399e3933d17125d2a578f3ed45","typeString":"literal_string \\"Airline has not paid registration fee\\""},"value":"Airline has not paid registration fee"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0d6501fc701c8894f10bd4931e50125375ca36399e3933d17125d2a578f3ed45","typeString":"literal_string \\"Airline has not paid registration fee\\""}],"id":63,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"src":"3097:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":68,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3097:80:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":69,"nodeType":"ExpressionStatement","src":"3097:80:0"},{"id":70,"nodeType":"PlaceholderStatement","src":"3187:1:0"}]},"documentation":"@dev Modifier that requires the airline to have paid registration fee to be the function caller","id":72,"name":"requireAirlinePayRegistrationFee","nodeType":"ModifierDefinition","parameters":{"id":54,"nodeType":"ParameterList","parameters":[],"src":"2993:2:0"},"src":"2952:243:0","visibility":"internal"},{"body":{"id":88,"nodeType":"Block","src":"3593:102:0","statements":[{"expression":{"argumentTypes":null,"id":80,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":77,"name":"contractOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30,"src":"3603:13:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":78,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"3619:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3619:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3603:26:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81,"nodeType":"ExpressionStatement","src":"3603:26:0"},{"expression":{"argumentTypes":null,"id":86,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":82,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"3639:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":84,"name":"dataContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"3675:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83,"name":"FlightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1487,"src":"3658:16:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FlightSuretyData_$1487_$","typeString":"type(contract FlightSuretyData)"}},"id":85,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3658:30:0","typeDescriptions":{"typeIdentifier":"t_contract$_FlightSuretyData_$1487","typeString":"contract FlightSuretyData"}},"src":"3639:49:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":87,"nodeType":"ExpressionStatement","src":"3639:49:0"}]},"documentation":"@dev Contract constructor\\n    ","id":89,"implemented":true,"isConstructor":true,"isDeclaredConst":false,"modifiers":[],"name":"","nodeType":"FunctionDefinition","parameters":{"id":75,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74,"name":"dataContract","nodeType":"VariableDeclaration","scope":89,"src":"3564:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73,"name":"address","nodeType":"ElementaryTypeName","src":"3564:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"3563:22:0"},"payable":false,"returnParameters":{"id":76,"nodeType":"ParameterList","parameters":[],"src":"3593:0:0"},"scope":717,"src":"3552:143:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":98,"nodeType":"Block","src":"4050:98:0","statements":[{"expression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":null,"id":94,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"4067:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":95,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isOperational","nodeType":"MemberAccess","referencedDeclaration":742,"src":"4067:30:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bool_$","typeString":"function () view external returns (bool)"}},"id":96,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4067:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":93,"id":97,"nodeType":"Return","src":"4060:39:0"}]},"documentation":"*****************************************************************************************","id":99,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"isOperational","nodeType":"FunctionDefinition","parameters":{"id":90,"nodeType":"ParameterList","parameters":[],"src":"4021:2:0"},"payable":false,"returnParameters":{"id":93,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92,"name":"","nodeType":"VariableDeclaration","scope":99,"src":"4044:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":91,"name":"bool","nodeType":"ElementaryTypeName","src":"4044:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"4043:6:0"},"scope":717,"src":"3999:149:0","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":177,"nodeType":"Block","src":"4695:664:0","statements":[{"expression":{"argumentTypes":null,"id":114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":112,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"4705:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"66616c7365","id":113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4715:5:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"4705:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":115,"nodeType":"ExpressionStatement","src":"4705:15:0"},{"expression":{"argumentTypes":null,"id":118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":116,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"4730:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"31","id":117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4738:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4730:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":119,"nodeType":"ExpressionStatement","src":"4730:9:0"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":null,"id":120,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"4754:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"numberOfAirlines","nodeType":"MemberAccess","referencedDeclaration":731,"src":"4754:33:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_uint256_$","typeString":"function () external returns (uint256)"}},"id":122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4754:35:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":123,"name":"NUMBER_OF_AIRLINES_FOR_MULTICONSESUS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"4793:36:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4754:75:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":171,"nodeType":"Block","src":"5225:94:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":164,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"5272:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":161,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"5239:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"registerAirline","nodeType":"MemberAccess","referencedDeclaration":726,"src":"5239:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5239:41:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":166,"nodeType":"ExpressionStatement","src":"5239:41:0"},{"expression":{"argumentTypes":null,"id":169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":167,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"5294:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5304:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5294:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":170,"nodeType":"ExpressionStatement","src":"5294:14:0"}]},"id":172,"nodeType":"IfStatement","src":"4750:569:0","trueBody":{"id":160,"nodeType":"Block","src":"4831:388:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":128,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"4884:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":125,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"4845:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"voteToRegisterAirline","nodeType":"MemberAccess","referencedDeclaration":793,"src":"4845:38:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4845:47:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":130,"nodeType":"ExpressionStatement","src":"4845:47:0"},{"expression":{"argumentTypes":null,"id":136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":131,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"4907:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":134,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"4961:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":132,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"4915:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getNumberOfRegistrationVotes","nodeType":"MemberAccess","referencedDeclaration":800,"src":"4915:45:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) external returns (uint256)"}},"id":135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4915:54:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4907:62:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":137,"nodeType":"ExpressionStatement","src":"4907:62:0"},{"assignments":[139],"declarations":[{"constant":false,"id":139,"name":"numberOfVotesNeeded","nodeType":"VariableDeclaration","scope":178,"src":"4983:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":138,"name":"uint","nodeType":"ElementaryTypeName","src":"4983:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":144,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"32","id":142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5051:1:0","subdenomination":null,"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"}],"expression":{"argumentTypes":null,"id":140,"name":"NUMBER_OF_AIRLINES_FOR_MULTICONSESUS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28,"src":"5010:36:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"div","nodeType":"MemberAccess","referencedDeclaration":1536,"src":"5010:40:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5010:43:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4983:70:0"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":145,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"5072:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":146,"name":"numberOfVotesNeeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":139,"src":"5081:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5072:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":159,"nodeType":"IfStatement","src":"5068:140:0","trueBody":{"id":158,"nodeType":"Block","src":"5102:106:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":151,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"5153:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":148,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"5120:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"registerAirline","nodeType":"MemberAccess","referencedDeclaration":726,"src":"5120:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5120:41:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":153,"nodeType":"ExpressionStatement","src":"5120:41:0"},{"expression":{"argumentTypes":null,"id":156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":154,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"5179:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5189:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5179:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":157,"nodeType":"ExpressionStatement","src":"5179:14:0"}]}}]}},{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"id":173,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"5337:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"id":174,"name":"votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"5346:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":175,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5336:16:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":111,"id":176,"nodeType":"Return","src":"5329:23:0"}]},"documentation":"@dev Add an airline to the registration queue\\n    ","id":178,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":104,"modifierName":{"argumentTypes":null,"id":103,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"4584:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"4584:20:0"},{"arguments":null,"id":106,"modifierName":{"argumentTypes":null,"id":105,"name":"requireAirlinePayRegistrationFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"4613:32:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"4613:32:0"}],"name":"registerAirline","nodeType":"FunctionDefinition","parameters":{"id":102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101,"name":"airline","nodeType":"VariableDeclaration","scope":178,"src":"4550:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":100,"name":"address","nodeType":"ElementaryTypeName","src":"4550:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"4549:17:0"},"payable":false,"returnParameters":{"id":111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":108,"name":"success","nodeType":"VariableDeclaration","scope":178,"src":"4662:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":107,"name":"bool","nodeType":"ElementaryTypeName","src":"4662:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":110,"name":"votes","nodeType":"VariableDeclaration","scope":178,"src":"4676:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":109,"name":"uint256","nodeType":"ElementaryTypeName","src":"4676:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"4661:29:0"},"scope":717,"src":"4525:834:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":197,"nodeType":"Block","src":"5552:76:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":192,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"5594:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":193,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"5603:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":194,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"5611:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":189,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"5562:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"registerFlight","nodeType":"MemberAccess","referencedDeclaration":751,"src":"5562:31:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,string memory,uint256) external"}},"id":195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5562:59:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":196,"nodeType":"ExpressionStatement","src":"5562:59:0"}]},"documentation":"@dev Register a future flight for insuring.\\n    ","id":198,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":187,"modifierName":{"argumentTypes":null,"id":186,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"5527:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"5527:20:0"}],"name":"registerFlight","nodeType":"FunctionDefinition","parameters":{"id":185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":180,"name":"airline","nodeType":"VariableDeclaration","scope":198,"src":"5459:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":179,"name":"address","nodeType":"ElementaryTypeName","src":"5459:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":182,"name":"flight","nodeType":"VariableDeclaration","scope":198,"src":"5476:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":181,"name":"string","nodeType":"ElementaryTypeName","src":"5476:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":184,"name":"timestamp","nodeType":"VariableDeclaration","scope":198,"src":"5491:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":183,"name":"uint256","nodeType":"ElementaryTypeName","src":"5491:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"5458:51:0"},"payable":false,"returnParameters":{"id":188,"nodeType":"ParameterList","parameters":[],"src":"5552:0:0"},"scope":717,"src":"5435:193:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":216,"nodeType":"Block","src":"5810:66:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":213,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"5860:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":210,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"5849:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5849:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":205,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"5821:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"fund","nodeType":"MemberAccess","referencedDeclaration":756,"src":"5821:21:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$","typeString":"function (address) payable external"}},"id":209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5821:27:0","typeDescriptions":{"typeIdentifier":"t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_address_$returns$__$value_$","typeString":"function (uint256) returns (function (address) payable external)"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5821:38:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$returns$__$value","typeString":"function (address) payable external"}},"id":214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5821:47:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":215,"nodeType":"ExpressionStatement","src":"5821:47:0"}]},"documentation":"@dev An airline has to provide fund to register other airilines.\\n     ","id":217,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":203,"modifierName":{"argumentTypes":null,"id":202,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"5784:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"5784:20:0"}],"name":"fund","nodeType":"FunctionDefinition","parameters":{"id":201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":200,"name":"airline","nodeType":"VariableDeclaration","scope":217,"src":"5744:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":199,"name":"address","nodeType":"ElementaryTypeName","src":"5744:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"5743:17:0"},"payable":true,"returnParameters":{"id":204,"nodeType":"ParameterList","parameters":[],"src":"5810:0:0"},"scope":717,"src":"5730:146:0","stateMutability":"payable","superFunction":null,"visibility":"public"},{"body":{"id":229,"nodeType":"Block","src":"6035:51:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":225,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"6067:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6067:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":222,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"6046:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pay","nodeType":"MemberAccess","referencedDeclaration":770,"src":"6046:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6046:32:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":228,"nodeType":"ExpressionStatement","src":"6046:32:0"}]},"documentation":"@dev Called after oracle has updated flight status\\n     ","id":230,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":220,"modifierName":{"argumentTypes":null,"id":219,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"6009:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"6009:20:0"}],"name":"withdraw","nodeType":"FunctionDefinition","parameters":{"id":218,"nodeType":"ParameterList","parameters":[],"src":"5981:2:0"},"payable":true,"returnParameters":{"id":221,"nodeType":"ParameterList","parameters":[],"src":"6035:0:0"},"scope":717,"src":"5964:122:0","stateMutability":"payable","superFunction":null,"visibility":"external"},{"body":{"id":252,"nodeType":"Block","src":"6309:92:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":246,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"6355:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":247,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":234,"src":"6364:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"argumentTypes":null,"id":248,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":236,"src":"6372:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":249,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":238,"src":"6383:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"argumentTypes":null,"id":243,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"6319:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"updateFlightStatus","nodeType":"MemberAccess","referencedDeclaration":788,"src":"6319:35:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8) external"}},"id":250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6319:75:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":251,"nodeType":"ExpressionStatement","src":"6319:75:0"}]},"documentation":"@dev Called after oracle has updated flight status\\n    ","id":253,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":241,"modifierName":{"argumentTypes":null,"id":240,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"6284:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"6284:20:0"}],"name":"processFlightStatus","nodeType":"FunctionDefinition","parameters":{"id":239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":232,"name":"airline","nodeType":"VariableDeclaration","scope":253,"src":"6198:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":231,"name":"address","nodeType":"ElementaryTypeName","src":"6198:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":234,"name":"flight","nodeType":"VariableDeclaration","scope":253,"src":"6215:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":233,"name":"string","nodeType":"ElementaryTypeName","src":"6215:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":236,"name":"timestamp","nodeType":"VariableDeclaration","scope":253,"src":"6230:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":235,"name":"uint256","nodeType":"ElementaryTypeName","src":"6230:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":238,"name":"statusCode","nodeType":"VariableDeclaration","scope":253,"src":"6249:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":237,"name":"uint8","nodeType":"ElementaryTypeName","src":"6249:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"6197:69:0"},"payable":false,"returnParameters":{"id":242,"nodeType":"ParameterList","parameters":[],"src":"6309:0:0"},"scope":717,"src":"6169:232:0","stateMutability":"nonpayable","superFunction":null,"visibility":"internal"},{"body":{"id":271,"nodeType":"Block","src":"6584:66:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":265,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"6615:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6615:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":267,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":255,"src":"6627:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":268,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":257,"src":"6636:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"expression":{"argumentTypes":null,"id":262,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"6594:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"buy","nodeType":"MemberAccess","referencedDeclaration":765,"src":"6594:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) payable external"}},"id":269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6594:49:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":270,"nodeType":"ExpressionStatement","src":"6594:49:0"}]},"documentation":"@dev Called when user wants to buy flight insurance\\n     ","id":272,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":260,"modifierName":{"argumentTypes":null,"id":259,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"6559:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"6559:20:0"}],"name":"buy","nodeType":"FunctionDefinition","parameters":{"id":258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":255,"name":"airline","nodeType":"VariableDeclaration","scope":272,"src":"6502:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":254,"name":"address","nodeType":"ElementaryTypeName","src":"6502:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":257,"name":"flight","nodeType":"VariableDeclaration","scope":272,"src":"6519:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":256,"name":"string","nodeType":"ElementaryTypeName","src":"6519:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"}],"src":"6501:32:0"},"payable":true,"returnParameters":{"id":261,"nodeType":"ParameterList","parameters":[],"src":"6584:0:0"},"scope":717,"src":"6489:161:0","stateMutability":"payable","superFunction":null,"visibility":"external"},{"body":{"id":285,"nodeType":"Block","src":"6811:52:0","statements":[{"expression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":null,"id":280,"name":"flightSuretyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32,"src":"6821:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IFlightSuretyData_$801","typeString":"contract IFlightSuretyData"}},"id":282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getFlightNumbers","nodeType":"MemberAccess","referencedDeclaration":737,"src":"6821:33:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_array$_t_string_memory_$dyn_memory_ptr_$","typeString":"function () external returns (string memory[] memory)"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6821:35:0","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":284,"nodeType":"ExpressionStatement","src":"6821:35:0"}]},"documentation":"@dev Gets the flight numbers\\n     ","id":286,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":null,"id":275,"modifierName":{"argumentTypes":null,"id":274,"name":"requireIsOperational","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41,"src":"6760:20:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"6760:20:0"}],"name":"getFlightNumbers","nodeType":"FunctionDefinition","parameters":{"id":273,"nodeType":"ParameterList","parameters":[],"src":"6740:2:0"},"payable":false,"returnParameters":{"id":279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":278,"name":"","nodeType":"VariableDeclaration","scope":286,"src":"6797:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":276,"name":"string","nodeType":"ElementaryTypeName","src":"6797:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":277,"length":null,"nodeType":"ArrayTypeName","src":"6797:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"value":null,"visibility":"internal"}],"src":"6796:10:0"},"scope":717,"src":"6715:148:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":331,"nodeType":"Block","src":"7022:349:0","statements":[{"assignments":[296],"declarations":[{"constant":false,"id":296,"name":"index","nodeType":"VariableDeclaration","scope":332,"src":"7032:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":295,"name":"uint8","nodeType":"ElementaryTypeName","src":"7032:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"id":301,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":298,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"7061:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7061:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":297,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"7046:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7046:26:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"7032:40:0"},{"assignments":[303],"declarations":[{"constant":false,"id":303,"name":"key","nodeType":"VariableDeclaration","scope":332,"src":"7140:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7140:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":313,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":307,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":296,"src":"7181:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"argumentTypes":null,"id":308,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"7188:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":309,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":290,"src":"7197:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":310,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":292,"src":"7205:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":305,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1583,"src":"7164:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7164:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7164:51:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":304,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1590,"src":"7154:9:0","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7154:62:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7140:76:0"},{"expression":{"argumentTypes":null,"id":322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":314,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":366,"src":"7226:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$362_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":316,"indexExpression":{"argumentTypes":null,"id":315,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":303,"src":"7242:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7226:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$362_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":318,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"7274:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7274:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"hexValue":"74727565","id":320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7294:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":null,"id":317,"name":"ResponseInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":362,"src":"7249:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ResponseInfo_$362_storage_ptr_$","typeString":"type(struct FlightSuretyApp.ResponseInfo storage pointer)"}},"id":321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["requester","isOpen"],"nodeType":"FunctionCall","src":"7249:51:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$362_memory","typeString":"struct FlightSuretyApp.ResponseInfo memory"}},"src":"7226:74:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$362_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":323,"nodeType":"ExpressionStatement","src":"7226:74:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":325,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":296,"src":"7330:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"argumentTypes":null,"id":326,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"7337:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":327,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":290,"src":"7346:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":328,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":292,"src":"7354:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":324,"name":"OracleRequest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":396,"src":"7316:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint8_$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (uint8,address,string memory,uint256)"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7316:48:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":330,"nodeType":"EmitStatement","src":"7311:53:0"}]},"documentation":null,"id":332,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"fetchFlightStatus","nodeType":"FunctionDefinition","parameters":{"id":293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":288,"name":"airline","nodeType":"VariableDeclaration","scope":332,"src":"6962:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":287,"name":"address","nodeType":"ElementaryTypeName","src":"6962:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":290,"name":"flight","nodeType":"VariableDeclaration","scope":332,"src":"6979:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":289,"name":"string","nodeType":"ElementaryTypeName","src":"6979:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":292,"name":"timestamp","nodeType":"VariableDeclaration","scope":332,"src":"6994:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":291,"name":"uint256","nodeType":"ElementaryTypeName","src":"6994:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"6961:51:0"},"payable":false,"returnParameters":{"id":294,"nodeType":"ParameterList","parameters":[],"src":"7022:0:0"},"scope":717,"src":"6935:436:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"constant":false,"id":335,"name":"nonce","nodeType":"VariableDeclaration","scope":717,"src":"7469:23:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":333,"name":"uint8","nodeType":"ElementaryTypeName","src":"7469:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"argumentTypes":null,"hexValue":"30","id":334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7491:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"private"},{"constant":true,"id":338,"name":"REGISTRATION_FEE","nodeType":"VariableDeclaration","scope":717,"src":"7545:50:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":336,"name":"uint256","nodeType":"ElementaryTypeName","src":"7545:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"31","id":337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7588:7:0","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1"},"visibility":"public"},{"constant":true,"id":341,"name":"MIN_RESPONSES","nodeType":"VariableDeclaration","scope":717,"src":"7662:42:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":339,"name":"uint256","nodeType":"ElementaryTypeName","src":"7662:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"33","id":340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7703:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"private"},{"canonicalName":"FlightSuretyApp.Oracle","id":348,"members":[{"constant":false,"id":343,"name":"isRegistered","nodeType":"VariableDeclaration","scope":348,"src":"7736:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":342,"name":"bool","nodeType":"ElementaryTypeName","src":"7736:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":347,"name":"indexes","nodeType":"VariableDeclaration","scope":348,"src":"7763:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":344,"name":"uint8","nodeType":"ElementaryTypeName","src":"7763:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":346,"length":{"argumentTypes":null,"hexValue":"33","id":345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7769:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":null,"typeString":null},"value":"3"},"nodeType":"ArrayTypeName","src":"7763:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"value":null,"visibility":"internal"}],"name":"Oracle","nodeType":"StructDefinition","scope":717,"src":"7712:74:0","visibility":"public"},{"constant":false,"id":352,"name":"oracles","nodeType":"VariableDeclaration","scope":717,"src":"7828:42:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$348_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle)"},"typeName":{"id":351,"keyType":{"id":349,"name":"address","nodeType":"ElementaryTypeName","src":"7836:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7828:26:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$348_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle)"},"valueType":{"contractScope":null,"id":350,"name":"Oracle","nodeType":"UserDefinedTypeName","referencedDeclaration":348,"src":"7847:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$348_storage_ptr","typeString":"struct FlightSuretyApp.Oracle"}}},"value":null,"visibility":"private"},{"canonicalName":"FlightSuretyApp.ResponseInfo","id":362,"members":[{"constant":false,"id":354,"name":"requester","nodeType":"VariableDeclaration","scope":362,"src":"7947:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":353,"name":"address","nodeType":"ElementaryTypeName","src":"7947:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":356,"name":"isOpen","nodeType":"VariableDeclaration","scope":362,"src":"8036:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":355,"name":"bool","nodeType":"ElementaryTypeName","src":"8036:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":361,"name":"responses","nodeType":"VariableDeclaration","scope":362,"src":"8134:37:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[])"},"typeName":{"id":360,"keyType":{"id":357,"name":"uint8","nodeType":"ElementaryTypeName","src":"8142:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Mapping","src":"8134:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[])"},"valueType":{"baseType":{"id":358,"name":"address","nodeType":"ElementaryTypeName","src":"8151:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":359,"length":null,"nodeType":"ArrayTypeName","src":"8151:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"value":null,"visibility":"internal"}],"name":"ResponseInfo","nodeType":"StructDefinition","scope":717,"src":"7917:515:0","visibility":"public"},{"constant":false,"id":366,"name":"oracleResponses","nodeType":"VariableDeclaration","scope":717,"src":"8516:56:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$362_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo)"},"typeName":{"id":365,"keyType":{"id":363,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8524:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"8516:32:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$362_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo)"},"valueType":{"contractScope":null,"id":364,"name":"ResponseInfo","nodeType":"UserDefinedTypeName","referencedDeclaration":362,"src":"8535:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$362_storage_ptr","typeString":"struct FlightSuretyApp.ResponseInfo"}}},"value":null,"visibility":"private"},{"anonymous":false,"documentation":null,"id":376,"name":"FlightStatusInfo","nodeType":"EventDefinition","parameters":{"id":375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":368,"indexed":false,"name":"airline","nodeType":"VariableDeclaration","scope":376,"src":"8660:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":367,"name":"address","nodeType":"ElementaryTypeName","src":"8660:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":370,"indexed":false,"name":"flight","nodeType":"VariableDeclaration","scope":376,"src":"8677:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":369,"name":"string","nodeType":"ElementaryTypeName","src":"8677:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":372,"indexed":false,"name":"timestamp","nodeType":"VariableDeclaration","scope":376,"src":"8692:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":371,"name":"uint256","nodeType":"ElementaryTypeName","src":"8692:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":374,"indexed":false,"name":"status","nodeType":"VariableDeclaration","scope":376,"src":"8711:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":373,"name":"uint8","nodeType":"ElementaryTypeName","src":"8711:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"8659:65:0"},"src":"8637:88:0"},{"anonymous":false,"documentation":null,"id":386,"name":"OracleReport","nodeType":"EventDefinition","parameters":{"id":385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":378,"indexed":false,"name":"airline","nodeType":"VariableDeclaration","scope":386,"src":"8750:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":377,"name":"address","nodeType":"ElementaryTypeName","src":"8750:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":380,"indexed":false,"name":"flight","nodeType":"VariableDeclaration","scope":386,"src":"8767:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":379,"name":"string","nodeType":"ElementaryTypeName","src":"8767:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":382,"indexed":false,"name":"timestamp","nodeType":"VariableDeclaration","scope":386,"src":"8782:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":381,"name":"uint256","nodeType":"ElementaryTypeName","src":"8782:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":384,"indexed":false,"name":"status","nodeType":"VariableDeclaration","scope":386,"src":"8801:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":383,"name":"uint8","nodeType":"ElementaryTypeName","src":"8801:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"8749:65:0"},"src":"8731:84:0"},{"anonymous":false,"documentation":null,"id":396,"name":"OracleRequest","nodeType":"EventDefinition","parameters":{"id":395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":388,"indexed":false,"name":"index","nodeType":"VariableDeclaration","scope":396,"src":"9005:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":387,"name":"uint8","nodeType":"ElementaryTypeName","src":"9005:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"},{"constant":false,"id":390,"indexed":false,"name":"airline","nodeType":"VariableDeclaration","scope":396,"src":"9018:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":389,"name":"address","nodeType":"ElementaryTypeName","src":"9018:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":392,"indexed":false,"name":"flight","nodeType":"VariableDeclaration","scope":396,"src":"9035:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":391,"name":"string","nodeType":"ElementaryTypeName","src":"9035:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":394,"indexed":false,"name":"timestamp","nodeType":"VariableDeclaration","scope":396,"src":"9050:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":393,"name":"uint256","nodeType":"ElementaryTypeName","src":"9050:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"9004:64:0"},"src":"8985:84:0"},{"body":{"id":427,"nodeType":"Block","src":"9280:266:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":400,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"9334:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9334:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":402,"name":"REGISTRATION_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"9347:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9334:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"526567697374726174696f6e20666565206973207265717569726564","id":404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9365:30:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1","typeString":"literal_string \\"Registration fee is required\\""},"value":"Registration fee is required"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1","typeString":"literal_string \\"Registration fee is required\\""}],"id":399,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"src":"9326:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9326:70:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":406,"nodeType":"ExpressionStatement","src":"9326:70:0"},{"assignments":[411],"declarations":[{"constant":false,"id":411,"name":"indexes","nodeType":"VariableDeclaration","scope":428,"src":"9407:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":409,"name":"uint8","nodeType":"ElementaryTypeName","src":"9407:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":410,"length":{"argumentTypes":null,"hexValue":"33","id":408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9413:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":null,"typeString":null},"value":"3"},"nodeType":"ArrayTypeName","src":"9407:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"value":null,"visibility":"internal"}],"id":416,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":413,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"9449:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9449:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":412,"name":"generateIndexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":671,"src":"9433:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_array$_t_uint8_$3_memory_ptr_$","typeString":"function (address) returns (uint8[3] memory)"}},"id":415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9433:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"nodeType":"VariableDeclarationStatement","src":"9407:53:0"},{"expression":{"argumentTypes":null,"id":425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":417,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"9471:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$348_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":420,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":418,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"9479:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9479:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9471:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$348_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"74727565","id":422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9515:4:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"argumentTypes":null,"id":423,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"9530:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}}],"expression":{"argumentTypes":null,"id":421,"name":"Oracle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":348,"src":"9493:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Oracle_$348_storage_ptr_$","typeString":"type(struct FlightSuretyApp.Oracle storage pointer)"}},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["isRegistered","indexes"],"nodeType":"FunctionCall","src":"9493:46:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$348_memory","typeString":"struct FlightSuretyApp.Oracle memory"}},"src":"9471:68:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$348_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":426,"nodeType":"ExpressionStatement","src":"9471:68:0"}]},"documentation":null,"id":428,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"registerOracle","nodeType":"FunctionDefinition","parameters":{"id":397,"nodeType":"ParameterList","parameters":[],"src":"9171:31:0"},"payable":true,"returnParameters":{"id":398,"nodeType":"ParameterList","parameters":[],"src":"9280:0:0"},"scope":717,"src":"9119:427:0","stateMutability":"payable","superFunction":null,"visibility":"external"},{"body":{"id":450,"nodeType":"Block","src":"9608:134:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":436,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"9626:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$348_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":439,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":437,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"9634:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9634:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9626:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$348_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":343,"src":"9626:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"4e6f74207265676973746572656420617320616e206f7261636c65","id":441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9660:29:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898","typeString":"literal_string \\"Not registered as an oracle\\""},"value":"Not registered as an oracle"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898","typeString":"literal_string \\"Not registered as an oracle\\""}],"id":435,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"src":"9618:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9618:72:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":443,"nodeType":"ExpressionStatement","src":"9618:72:0"},{"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":444,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"9708:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$348_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":447,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":445,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"9716:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9716:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9708:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$348_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":347,"src":"9708:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"functionReturnParameters":434,"id":449,"nodeType":"Return","src":"9701:34:0"}]},"documentation":null,"id":451,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getMyIndexes","nodeType":"FunctionDefinition","parameters":{"id":429,"nodeType":"ParameterList","parameters":[],"src":"9573:2:0"},"payable":false,"returnParameters":{"id":434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":433,"name":"","nodeType":"VariableDeclaration","scope":451,"src":"9598:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":430,"name":"uint8","nodeType":"ElementaryTypeName","src":"9598:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":432,"length":{"argumentTypes":null,"hexValue":"33","id":431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9604:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":null,"typeString":null},"value":"3"},"nodeType":"ArrayTypeName","src":"9598:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"value":null,"visibility":"internal"}],"src":"9597:10:0"},"scope":717,"src":"9552:190:0","stateMutability":"view","superFunction":null,"visibility":"external"},{"body":{"id":563,"nodeType":"Block","src":"10404:951:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":465,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"10423:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$348_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":468,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":466,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"10431:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10431:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10423:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$348_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":469,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":347,"src":"10423:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"id":471,"indexExpression":{"argumentTypes":null,"hexValue":"30","id":470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10451:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10423:30:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":472,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"10457:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10423:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":474,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10422:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":475,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"10468:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$348_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":478,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":476,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"10476:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10476:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10468:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$348_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":347,"src":"10468:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"id":481,"indexExpression":{"argumentTypes":null,"hexValue":"31","id":480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10496:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10468:30:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":482,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"10502:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10468:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":484,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10467:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10422:86:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":486,"name":"oracles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"10513:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Oracle_$348_storage_$","typeString":"mapping(address => struct FlightSuretyApp.Oracle storage ref)"}},"id":489,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":487,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"10521:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10521:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10513:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_Oracle_$348_storage","typeString":"struct FlightSuretyApp.Oracle storage ref"}},"id":490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"indexes","nodeType":"MemberAccess","referencedDeclaration":347,"src":"10513:27:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage","typeString":"uint8[3] storage ref"}},"id":492,"indexExpression":{"argumentTypes":null,"hexValue":"32","id":491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10541:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10513:30:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":493,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"10547:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"10513:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":495,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10512:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10422:131:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"496e64657820646f6573206e6f74206d61746368206f7261636c652072657175657374","id":497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10555:37:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958","typeString":"literal_string \\"Index does not match oracle request\\""},"value":"Index does not match oracle request"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958","typeString":"literal_string \\"Index does not match oracle request\\""}],"id":464,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"src":"10414:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10414:179:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":499,"nodeType":"ExpressionStatement","src":"10414:179:0"},{"assignments":[501],"declarations":[{"constant":false,"id":501,"name":"key","nodeType":"VariableDeclaration","scope":564,"src":"10605:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":500,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10605:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":511,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":505,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"10646:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"argumentTypes":null,"id":506,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":455,"src":"10653:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":507,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":457,"src":"10662:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":508,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":459,"src":"10670:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":503,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1583,"src":"10629:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":504,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10629:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10629:51:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":502,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1590,"src":"10619:9:0","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10619:62:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10605:76:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":513,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":366,"src":"10699:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$362_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":515,"indexExpression":{"argumentTypes":null,"id":514,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":501,"src":"10715:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10699:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$362_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"isOpen","nodeType":"MemberAccess","referencedDeclaration":356,"src":"10699:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"466c69676874206f722074696d657374616d7020646f206e6f74206d61746368206f7261636c652072657175657374","id":517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10728:49:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1","typeString":"literal_string \\"Flight or timestamp do not match oracle request\\""},"value":"Flight or timestamp do not match oracle request"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1","typeString":"literal_string \\"Flight or timestamp do not match oracle request\\""}],"id":512,"name":"require","nodeType":"Identifier","overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"src":"10691:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10691:87:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":519,"nodeType":"ExpressionStatement","src":"10691:87:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":527,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"10837:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10837:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":520,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":366,"src":"10789:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$362_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":522,"indexExpression":{"argumentTypes":null,"id":521,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":501,"src":"10805:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10789:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$362_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":523,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"responses","nodeType":"MemberAccess","referencedDeclaration":361,"src":"10789:30:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[] storage ref)"}},"id":525,"indexExpression":{"argumentTypes":null,"id":524,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"10820:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10789:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10789:47:0","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10789:59:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":530,"nodeType":"ExpressionStatement","src":"10789:59:0"},{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":532,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":455,"src":"11016:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":533,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":457,"src":"11025:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":534,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":459,"src":"11033:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":535,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"11044:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":531,"name":"OracleReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":386,"src":"11003:12:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11003:52:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":537,"nodeType":"EmitStatement","src":"10998:57:0"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":538,"name":"oracleResponses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":366,"src":"11069:15:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ResponseInfo_$362_storage_$","typeString":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)"}},"id":540,"indexExpression":{"argumentTypes":null,"id":539,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":501,"src":"11085:3:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11069:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_ResponseInfo_$362_storage","typeString":"struct FlightSuretyApp.ResponseInfo storage ref"}},"id":541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"responses","nodeType":"MemberAccess","referencedDeclaration":361,"src":"11069:30:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint8_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(uint8 => address[] storage ref)"}},"id":543,"indexExpression":{"argumentTypes":null,"id":542,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"11100:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11069:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":544,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":null,"src":"11069:49:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":545,"name":"MIN_RESPONSES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":341,"src":"11122:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11069:66:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":562,"nodeType":"IfStatement","src":"11065:284:0","trueBody":{"id":561,"nodeType":"Block","src":"11137:212:0","statements":[{"eventCall":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":548,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":455,"src":"11174:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":549,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":457,"src":"11183:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":550,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":459,"src":"11191:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":551,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"11202:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":547,"name":"FlightStatusInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":376,"src":"11157:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11157:56:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":553,"nodeType":"EmitStatement","src":"11152:61:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":555,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":455,"src":"11299:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":556,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":457,"src":"11308:6:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":557,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":459,"src":"11316:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":558,"name":"statusCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"11327:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":554,"name":"processFlightStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":253,"src":"11279:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_uint8_$returns$__$","typeString":"function (address,string memory,uint256,uint8)"}},"id":559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11279:59:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":560,"nodeType":"ExpressionStatement","src":"11279:59:0"}]}}]},"documentation":null,"id":564,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"submitOracleResponse","nodeType":"FunctionDefinition","parameters":{"id":462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":453,"name":"index","nodeType":"VariableDeclaration","scope":564,"src":"10148:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":452,"name":"uint8","nodeType":"ElementaryTypeName","src":"10148:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"},{"constant":false,"id":455,"name":"airline","nodeType":"VariableDeclaration","scope":564,"src":"10189:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":454,"name":"address","nodeType":"ElementaryTypeName","src":"10189:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":457,"name":"flight","nodeType":"VariableDeclaration","scope":564,"src":"10234:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":456,"name":"string","nodeType":"ElementaryTypeName","src":"10234:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":459,"name":"timestamp","nodeType":"VariableDeclaration","scope":564,"src":"10277:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":458,"name":"uint256","nodeType":"ElementaryTypeName","src":"10277:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":461,"name":"statusCode","nodeType":"VariableDeclaration","scope":564,"src":"10324:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":460,"name":"uint8","nodeType":"ElementaryTypeName","src":"10324:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"10118:248:0"},"payable":false,"returnParameters":{"id":463,"nodeType":"ParameterList","parameters":[],"src":"10404:0:0"},"scope":717,"src":"10064:1291:0","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":584,"nodeType":"Block","src":"11465:79:0","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":578,"name":"airline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":566,"src":"11509:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":579,"name":"flight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":568,"src":"11518:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"argumentTypes":null,"id":580,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":570,"src":"11526:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":576,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1583,"src":"11492:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","referencedDeclaration":null,"src":"11492:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11492:44:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":575,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1590,"src":"11482:9:0","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11482:55:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":574,"id":583,"nodeType":"Return","src":"11475:62:0"}]},"documentation":null,"id":585,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getFlightKey","nodeType":"FunctionDefinition","parameters":{"id":571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":566,"name":"airline","nodeType":"VariableDeclaration","scope":585,"src":"11383:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":565,"name":"address","nodeType":"ElementaryTypeName","src":"11383:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":568,"name":"flight","nodeType":"VariableDeclaration","scope":585,"src":"11400:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":567,"name":"string","nodeType":"ElementaryTypeName","src":"11400:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":570,"name":"timestamp","nodeType":"VariableDeclaration","scope":585,"src":"11415:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":569,"name":"uint256","nodeType":"ElementaryTypeName","src":"11415:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11382:51:0"},"payable":false,"returnParameters":{"id":574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":573,"name":"","nodeType":"VariableDeclaration","scope":585,"src":"11456:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":572,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11456:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"11455:9:0"},"scope":717,"src":"11361:183:0","stateMutability":"pure","superFunction":null,"visibility":"internal"},{"body":{"id":670,"nodeType":"Block","src":"11683:415:0","statements":[{"assignments":[],"declarations":[{"constant":false,"id":598,"name":"indexes","nodeType":"VariableDeclaration","scope":671,"src":"11693:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":596,"name":"uint8","nodeType":"ElementaryTypeName","src":"11693:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":597,"length":{"argumentTypes":null,"hexValue":"33","id":595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11699:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":null,"typeString":null},"value":"3"},"nodeType":"ArrayTypeName","src":"11693:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"value":null,"visibility":"internal"}],"id":599,"initialValue":null,"nodeType":"VariableDeclarationStatement","src":"11693:23:0"},{"expression":{"argumentTypes":null,"id":606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":600,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"11726:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":602,"indexExpression":{"argumentTypes":null,"hexValue":"30","id":601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11734:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11726:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":604,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":587,"src":"11754:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":603,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"11739:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11739:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11726:36:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":607,"nodeType":"ExpressionStatement","src":"11726:36:0"},{"expression":{"argumentTypes":null,"id":614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":608,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"11773:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":610,"indexExpression":{"argumentTypes":null,"hexValue":"31","id":609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11781:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11773:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":611,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"11786:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":613,"indexExpression":{"argumentTypes":null,"hexValue":"30","id":612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11794:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11786:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11773:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":615,"nodeType":"ExpressionStatement","src":"11773:23:0"},{"body":{"id":631,"nodeType":"Block","src":"11838:61:0","statements":[{"expression":{"argumentTypes":null,"id":629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":623,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"11852:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":625,"indexExpression":{"argumentTypes":null,"hexValue":"31","id":624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11860:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11852:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":627,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":587,"src":"11880:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":626,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"11865:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11865:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11852:36:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":630,"nodeType":"ExpressionStatement","src":"11852:36:0"}]},"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":616,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"11812:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":618,"indexExpression":{"argumentTypes":null,"hexValue":"31","id":617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11820:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11812:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":619,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"11826:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":621,"indexExpression":{"argumentTypes":null,"hexValue":"30","id":620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11834:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11826:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11812:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":632,"nodeType":"WhileStatement","src":"11806:93:0"},{"expression":{"argumentTypes":null,"id":639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":633,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"11909:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":635,"indexExpression":{"argumentTypes":null,"hexValue":"32","id":634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11917:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11909:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":636,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"11922:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":638,"indexExpression":{"argumentTypes":null,"hexValue":"31","id":637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11930:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11922:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11909:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":640,"nodeType":"ExpressionStatement","src":"11909:23:0"},{"body":{"id":666,"nodeType":"Block","src":"12006:61:0","statements":[{"expression":{"argumentTypes":null,"id":664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":658,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"12020:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":660,"indexExpression":{"argumentTypes":null,"hexValue":"32","id":659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12028:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12020:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":662,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":587,"src":"12048:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":661,"name":"getRandomIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"12033:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint8_$","typeString":"function (address) returns (uint8)"}},"id":663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12033:23:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12020:36:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":665,"nodeType":"ExpressionStatement","src":"12020:36:0"}]},"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":641,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"11949:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":643,"indexExpression":{"argumentTypes":null,"hexValue":"32","id":642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11957:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11949:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":644,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"11963:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":646,"indexExpression":{"argumentTypes":null,"hexValue":"30","id":645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11971:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11963:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11949:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":648,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11948:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":649,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"11979:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":651,"indexExpression":{"argumentTypes":null,"hexValue":"32","id":650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11987:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11979:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":652,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"11993:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"id":654,"indexExpression":{"argumentTypes":null,"hexValue":"31","id":653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12001:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11993:10:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11979:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":656,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11978:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11948:56:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":667,"nodeType":"WhileStatement","src":"11942:125:0"},{"expression":{"argumentTypes":null,"id":668,"name":"indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":598,"src":"12084:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3] memory"}},"functionReturnParameters":593,"id":669,"nodeType":"Return","src":"12077:14:0"}]},"documentation":null,"id":671,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"generateIndexes","nodeType":"FunctionDefinition","parameters":{"id":588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":587,"name":"account","nodeType":"VariableDeclaration","scope":671,"src":"11639:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":586,"name":"address","nodeType":"ElementaryTypeName","src":"11639:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"11638:17:0"},"payable":false,"returnParameters":{"id":593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":592,"name":"","nodeType":"VariableDeclaration","scope":671,"src":"11673:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_memory_ptr","typeString":"uint8[3]"},"typeName":{"baseType":{"id":589,"name":"uint8","nodeType":"ElementaryTypeName","src":"11673:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":591,"length":{"argumentTypes":null,"hexValue":"33","id":590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11679:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":null,"typeString":null},"value":"3"},"nodeType":"ArrayTypeName","src":"11673:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$3_storage_ptr","typeString":"uint8[3]"}},"value":null,"visibility":"internal"}],"src":"11672:10:0"},"scope":717,"src":"11614:484:0","stateMutability":"nonpayable","superFunction":null,"visibility":"internal"},{"body":{"id":715,"nodeType":"Block","src":"12234:380:0","statements":[{"assignments":[679],"declarations":[{"constant":false,"id":679,"name":"maxValue","nodeType":"VariableDeclaration","scope":716,"src":"12244:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":678,"name":"uint8","nodeType":"ElementaryTypeName","src":"12244:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"id":681,"initialValue":{"argumentTypes":null,"hexValue":"3130","id":680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12261:2:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"VariableDeclarationStatement","src":"12244:19:0"},{"assignments":[683],"declarations":[{"constant":false,"id":683,"name":"random","nodeType":"VariableDeclaration","scope":716,"src":"12346:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":682,"name":"uint8","nodeType":"ElementaryTypeName","src":"12346:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"id":703,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":690,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1586,"src":"12412:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","referencedDeclaration":null,"src":"12412:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"id":693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12427:7:0","subExpression":{"argumentTypes":null,"id":692,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":335,"src":"12427:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12412:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":689,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1587,"src":"12402:9:0","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12402:33:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":696,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":673,"src":"12437:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":687,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1583,"src":"12385:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","referencedDeclaration":null,"src":"12385:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12385:60:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":686,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1590,"src":"12375:9:0","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12375:71:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12367:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":"uint256"},"id":699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12367:80:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"argumentTypes":null,"id":700,"name":"maxValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":679,"src":"12450:8:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12367:91:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12361:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":"uint8"},"id":702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12361:98:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"12346:113:0"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":704,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":335,"src":"12474:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"323530","id":705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12482:3:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_250_by_1","typeString":"int_const 250"},"value":"250"},"src":"12474:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":712,"nodeType":"IfStatement","src":"12470:114:0","trueBody":{"id":711,"nodeType":"Block","src":"12487:97:0","statements":[{"expression":{"argumentTypes":null,"id":709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":707,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":335,"src":"12501:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"30","id":708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12509:1:0","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12501:9:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":710,"nodeType":"ExpressionStatement","src":"12501:9:0"}]}},{"expression":{"argumentTypes":null,"id":713,"name":"random","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":683,"src":"12601:6:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":677,"id":714,"nodeType":"Return","src":"12594:13:0"}]},"documentation":null,"id":716,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"getRandomIndex","nodeType":"FunctionDefinition","parameters":{"id":674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":673,"name":"account","nodeType":"VariableDeclaration","scope":716,"src":"12192:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":672,"name":"address","nodeType":"ElementaryTypeName","src":"12192:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"12191:17:0"},"payable":false,"returnParameters":{"id":677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":676,"name":"","nodeType":"VariableDeclaration","scope":716,"src":"12227:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":675,"name":"uint8","nodeType":"ElementaryTypeName","src":"12227:5:0","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"12226:7:0"},"scope":717,"src":"12168:446:0","stateMutability":"nonpayable","superFunction":null,"visibility":"internal"}],"scope":718,"src":"636:11995:0"}],"src":"0:12632:0"},"legacyAST":{"attributes":{"absolutePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyApp.sol","exportedSymbols":{"FlightSuretyApp":[717]}},"children":[{"attributes":{"literals":["solidity","^","0.4",".25"]},"id":1,"name":"PragmaDirective","src":"0:24:0"},{"attributes":{"literals":["experimental","ABIEncoderV2"]},"id":2,"name":"PragmaDirective","src":"25:33:0"},{"attributes":{"SourceUnit":1582,"absolutePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol","file":"../node_modules/openzeppelin-solidity/contracts/math/SafeMath.sol","scope":718,"symbolAliases":[null],"unitAlias":""},"id":3,"name":"ImportDirective","src":"350:75:0"},{"attributes":{"SourceUnit":1488,"absolutePath":"/Users/stockbit/Documents/Tutorials/FlightSurety/contracts/FlightSuretyData.sol","file":"../contracts/FlightSuretyData.sol","scope":718,"symbolAliases":[null],"unitAlias":""},"id":4,"name":"ImportDirective","src":"426:43:0"},{"attributes":{"baseContracts":[null],"contractDependencies":[null],"contractKind":"contract","documentation":"************************************************ ","fullyImplemented":true,"linearizedBaseContracts":[717],"name":"FlightSuretyApp","scope":718},"children":[{"children":[{"attributes":{"contractScope":null,"name":"SafeMath","referencedDeclaration":1581,"type":"library SafeMath"},"id":5,"name":"UserDefinedTypeName","src":"673:8:0"},{"attributes":{"name":"uint256","type":"uint256"},"id":6,"name":"ElementaryTypeName","src":"686:7:0"}],"id":7,"name":"UsingForDirective","src":"667:27:0"},{"attributes":{"constant":true,"name":"STATUS_CODE_UNKNOWN","scope":717,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":8,"name":"ElementaryTypeName","src":"1128:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":9,"name":"Literal","src":"1173:1:0"}],"id":10,"name":"VariableDeclaration","src":"1128:46:0"},{"attributes":{"constant":true,"name":"STATUS_CODE_ON_TIME","scope":717,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":11,"name":"ElementaryTypeName","src":"1180:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"3130","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 10","value":"10"},"id":12,"name":"Literal","src":"1225:2:0"}],"id":13,"name":"VariableDeclaration","src":"1180:47:0"},{"attributes":{"constant":true,"name":"STATUS_CODE_LATE_AIRLINE","scope":717,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":14,"name":"ElementaryTypeName","src":"1233:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"3230","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 20","value":"20"},"id":15,"name":"Literal","src":"1283:2:0"}],"id":16,"name":"VariableDeclaration","src":"1233:52:0"},{"attributes":{"constant":true,"name":"STATUS_CODE_LATE_WEATHER","scope":717,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":17,"name":"ElementaryTypeName","src":"1291:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"3330","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 30","value":"30"},"id":18,"name":"Literal","src":"1341:2:0"}],"id":19,"name":"VariableDeclaration","src":"1291:52:0"},{"attributes":{"constant":true,"name":"STATUS_CODE_LATE_TECHNICAL","scope":717,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":20,"name":"ElementaryTypeName","src":"1349:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"3430","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 40","value":"40"},"id":21,"name":"Literal","src":"1401:2:0"}],"id":22,"name":"VariableDeclaration","src":"1349:54:0"},{"attributes":{"constant":true,"name":"STATUS_CODE_LATE_OTHER","scope":717,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":23,"name":"ElementaryTypeName","src":"1409:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"3530","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 50","value":"50"},"id":24,"name":"Literal","src":"1457:2:0"}],"id":25,"name":"VariableDeclaration","src":"1409:50:0"},{"attributes":{"constant":true,"name":"NUMBER_OF_AIRLINES_FOR_MULTICONSESUS","scope":717,"stateVariable":true,"storageLocation":"default","type":"uint256","visibility":"private"},"children":[{"attributes":{"name":"uint","type":"uint256"},"id":26,"name":"ElementaryTypeName","src":"1466:4:0"},{"attributes":{"argumentTypes":null,"hexvalue":"34","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 4","value":"4"},"id":27,"name":"Literal","src":"1527:1:0"}],"id":28,"name":"VariableDeclaration","src":"1466:62:0"},{"attributes":{"constant":false,"name":"contractOwner","scope":717,"stateVariable":true,"storageLocation":"default","type":"address","value":null,"visibility":"private"},"children":[{"attributes":{"name":"address","type":"address"},"id":29,"name":"ElementaryTypeName","src":"1535:7:0"}],"id":30,"name":"VariableDeclaration","src":"1535:29:0"},{"attributes":{"constant":false,"name":"flightSuretyData","scope":717,"stateVariable":true,"storageLocation":"default","type":"contract IFlightSuretyData","value":null,"visibility":"internal"},"children":[{"attributes":{"contractScope":null,"name":"IFlightSuretyData","referencedDeclaration":801,"type":"contract IFlightSuretyData"},"id":31,"name":"UserDefinedTypeName","src":"1614:17:0"}],"id":32,"name":"VariableDeclaration","src":"1614:34:0"},{"attributes":{"documentation":"@dev Modifier that requires the \\"operational\\" boolean variable to be \\"true\\"\\n     This is used on all state changing functions to pause the contract in\\n     the event there is an issue that needs to be fixed","name":"requireIsOperational","visibility":"internal"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":33,"name":"ParameterList","src":"2370:2:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a944ac63656791076c14949470b85bdffa60627db8794c94b1d70a12e2e21886","typeString":"literal_string \\"Contract is currently not operational\\""}],"overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"type":"function (bool,string memory) pure","value":"require"},"id":34,"name":"Identifier","src":"2433:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"74727565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"true"},"id":35,"name":"Literal","src":"2441:4:0"},{"attributes":{"argumentTypes":null,"hexvalue":"436f6e74726163742069732063757272656e746c79206e6f74206f7065726174696f6e616c","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Contract is currently not operational\\"","value":"Contract is currently not operational"},"id":36,"name":"Literal","src":"2447:39:0"}],"id":37,"name":"FunctionCall","src":"2433:54:0"}],"id":38,"name":"ExpressionStatement","src":"2433:54:0"},{"id":39,"name":"PlaceholderStatement","src":"2497:1:0"}],"id":40,"name":"Block","src":"2373:219:0"}],"id":41,"name":"ModifierDefinition","src":"2341:251:0"},{"attributes":{"documentation":"@dev Modifier that requires the \\"ContractOwner\\" account to be the function caller","name":"requireContractOwner","visibility":"internal"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":42,"name":"ParameterList","src":"2730:2:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ad5b8255218fc9200bf271049bc5472a1a7a8192290eba60272e432e608ceea3","typeString":"literal_string \\"Caller is not contract owner\\""}],"overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"type":"function (bool,string memory) pure","value":"require"},"id":43,"name":"Identifier","src":"2743:7:0"},{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":44,"name":"Identifier","src":"2751:3:0"}],"id":45,"name":"MemberAccess","src":"2751:10:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":30,"type":"address","value":"contractOwner"},"id":46,"name":"Identifier","src":"2765:13:0"}],"id":47,"name":"BinaryOperation","src":"2751:27:0"},{"attributes":{"argumentTypes":null,"hexvalue":"43616c6c6572206973206e6f7420636f6e7472616374206f776e6572","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Caller is not contract owner\\"","value":"Caller is not contract owner"},"id":48,"name":"Literal","src":"2780:30:0"}],"id":49,"name":"FunctionCall","src":"2743:68:0"}],"id":50,"name":"ExpressionStatement","src":"2743:68:0"},{"id":51,"name":"PlaceholderStatement","src":"2821:1:0"}],"id":52,"name":"Block","src":"2733:96:0"}],"id":53,"name":"ModifierDefinition","src":"2701:128:0"},{"attributes":{"documentation":"@dev Modifier that requires the airline to have paid registration fee to be the function caller","name":"requireAirlinePayRegistrationFee","visibility":"internal"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":54,"name":"ParameterList","src":"2993:2:0"},{"children":[{"attributes":{"assignments":[56]},"children":[{"attributes":{"constant":false,"name":"hasPaidRegistrationFee","scope":72,"stateVariable":false,"storageLocation":"default","type":"bool","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bool","type":"bool"},"id":55,"name":"ElementaryTypeName","src":"3006:4:0"}],"id":56,"name":"VariableDeclaration","src":"3006:27:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bool","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"hasPaidRegistrationFee","referencedDeclaration":777,"type":"function (address) view external returns (bool)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":57,"name":"Identifier","src":"3036:16:0"}],"id":58,"name":"MemberAccess","src":"3036:39:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":59,"name":"Identifier","src":"3076:3:0"}],"id":60,"name":"MemberAccess","src":"3076:10:0"}],"id":61,"name":"FunctionCall","src":"3036:51:0"}],"id":62,"name":"VariableDeclarationStatement","src":"3006:81:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0d6501fc701c8894f10bd4931e50125375ca36399e3933d17125d2a578f3ed45","typeString":"literal_string \\"Airline has not paid registration fee\\""}],"overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"type":"function (bool,string memory) pure","value":"require"},"id":63,"name":"Identifier","src":"3097:7:0"},{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":56,"type":"bool","value":"hasPaidRegistrationFee"},"id":64,"name":"Identifier","src":"3105:22:0"},{"attributes":{"argumentTypes":null,"hexvalue":"74727565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"true"},"id":65,"name":"Literal","src":"3131:4:0"}],"id":66,"name":"BinaryOperation","src":"3105:30:0"},{"attributes":{"argumentTypes":null,"hexvalue":"4169726c696e6520686173206e6f74207061696420726567697374726174696f6e20666565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Airline has not paid registration fee\\"","value":"Airline has not paid registration fee"},"id":67,"name":"Literal","src":"3137:39:0"}],"id":68,"name":"FunctionCall","src":"3097:80:0"}],"id":69,"name":"ExpressionStatement","src":"3097:80:0"},{"id":70,"name":"PlaceholderStatement","src":"3187:1:0"}],"id":71,"name":"Block","src":"2996:199:0"}],"id":72,"name":"ModifierDefinition","src":"2952:243:0"},{"attributes":{"constant":false,"documentation":"@dev Contract constructor\\n    ","implemented":true,"isConstructor":true,"modifiers":[null],"name":"","payable":false,"scope":717,"stateMutability":"nonpayable","superFunction":null,"visibility":"public"},"children":[{"children":[{"attributes":{"constant":false,"name":"dataContract","scope":89,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":73,"name":"ElementaryTypeName","src":"3564:7:0"}],"id":74,"name":"VariableDeclaration","src":"3564:20:0"}],"id":75,"name":"ParameterList","src":"3563:22:0"},{"attributes":{"parameters":[null]},"children":[],"id":76,"name":"ParameterList","src":"3593:0:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":30,"type":"address","value":"contractOwner"},"id":77,"name":"Identifier","src":"3603:13:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":78,"name":"Identifier","src":"3619:3:0"}],"id":79,"name":"MemberAccess","src":"3619:10:0"}],"id":80,"name":"Assignment","src":"3603:26:0"}],"id":81,"name":"ExpressionStatement","src":"3603:26:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"contract IFlightSuretyData"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":82,"name":"Identifier","src":"3639:16:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"contract FlightSuretyData","type_conversion":true},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"overloadedDeclarations":[null],"referencedDeclaration":1487,"type":"type(contract FlightSuretyData)","value":"FlightSuretyData"},"id":83,"name":"Identifier","src":"3658:16:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":74,"type":"address","value":"dataContract"},"id":84,"name":"Identifier","src":"3675:12:0"}],"id":85,"name":"FunctionCall","src":"3658:30:0"}],"id":86,"name":"Assignment","src":"3639:49:0"}],"id":87,"name":"ExpressionStatement","src":"3639:49:0"}],"id":88,"name":"Block","src":"3593:102:0"}],"id":89,"name":"FunctionDefinition","src":"3552:143:0"},{"attributes":{"constant":true,"documentation":"*****************************************************************************************","implemented":true,"isConstructor":false,"modifiers":[null],"name":"isOperational","payable":false,"scope":717,"stateMutability":"view","superFunction":null,"visibility":"public"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":90,"name":"ParameterList","src":"4021:2:0"},{"children":[{"attributes":{"constant":false,"name":"","scope":99,"stateVariable":false,"storageLocation":"default","type":"bool","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bool","type":"bool"},"id":91,"name":"ElementaryTypeName","src":"4044:4:0"}],"id":92,"name":"VariableDeclaration","src":"4044:4:0"}],"id":93,"name":"ParameterList","src":"4043:6:0"},{"children":[{"attributes":{"functionReturnParameters":93},"children":[{"attributes":{"argumentTypes":null,"arguments":[null],"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bool","type_conversion":false},"children":[{"attributes":{"argumentTypes":[null],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"isOperational","referencedDeclaration":742,"type":"function () view external returns (bool)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":94,"name":"Identifier","src":"4067:16:0"}],"id":95,"name":"MemberAccess","src":"4067:30:0"}],"id":96,"name":"FunctionCall","src":"4067:32:0"}],"id":97,"name":"Return","src":"4060:39:0"}],"id":98,"name":"Block","src":"4050:98:0"}],"id":99,"name":"FunctionDefinition","src":"3999:149:0"},{"attributes":{"constant":false,"documentation":"@dev Add an airline to the registration queue\\n    ","implemented":true,"isConstructor":false,"name":"registerAirline","payable":false,"scope":717,"stateMutability":"nonpayable","superFunction":null,"visibility":"external"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":178,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":100,"name":"ElementaryTypeName","src":"4550:7:0"}],"id":101,"name":"VariableDeclaration","src":"4550:15:0"}],"id":102,"name":"ParameterList","src":"4549:17:0"},{"children":[{"attributes":{"constant":false,"name":"success","scope":178,"stateVariable":false,"storageLocation":"default","type":"bool","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bool","type":"bool"},"id":107,"name":"ElementaryTypeName","src":"4662:4:0"}],"id":108,"name":"VariableDeclaration","src":"4662:12:0"},{"attributes":{"constant":false,"name":"votes","scope":178,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":109,"name":"ElementaryTypeName","src":"4676:7:0"}],"id":110,"name":"VariableDeclaration","src":"4676:13:0"}],"id":111,"name":"ParameterList","src":"4661:29:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":103,"name":"Identifier","src":"4584:20:0"}],"id":104,"name":"ModifierInvocation","src":"4584:20:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":72,"type":"modifier ()","value":"requireAirlinePayRegistrationFee"},"id":105,"name":"Identifier","src":"4613:32:0"}],"id":106,"name":"ModifierInvocation","src":"4613:32:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":108,"type":"bool","value":"success"},"id":112,"name":"Identifier","src":"4705:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"66616c7365","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"false"},"id":113,"name":"Literal","src":"4715:5:0"}],"id":114,"name":"Assignment","src":"4705:15:0"}],"id":115,"name":"ExpressionStatement","src":"4705:15:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":110,"type":"uint256","value":"votes"},"id":116,"name":"Identifier","src":"4730:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":117,"name":"Literal","src":"4738:1:0"}],"id":118,"name":"Assignment","src":"4730:9:0"}],"id":119,"name":"ExpressionStatement","src":"4730:9:0"},{"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":">=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"arguments":[null],"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint256","type_conversion":false},"children":[{"attributes":{"argumentTypes":[null],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"numberOfAirlines","referencedDeclaration":731,"type":"function () external returns (uint256)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":120,"name":"Identifier","src":"4754:16:0"}],"id":121,"name":"MemberAccess","src":"4754:33:0"}],"id":122,"name":"FunctionCall","src":"4754:35:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":28,"type":"uint256","value":"NUMBER_OF_AIRLINES_FOR_MULTICONSESUS"},"id":123,"name":"Identifier","src":"4793:36:0"}],"id":124,"name":"BinaryOperation","src":"4754:75:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"voteToRegisterAirline","referencedDeclaration":793,"type":"function (address) external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":125,"name":"Identifier","src":"4845:16:0"}],"id":127,"name":"MemberAccess","src":"4845:38:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":101,"type":"address","value":"airline"},"id":128,"name":"Identifier","src":"4884:7:0"}],"id":129,"name":"FunctionCall","src":"4845:47:0"}],"id":130,"name":"ExpressionStatement","src":"4845:47:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":110,"type":"uint256","value":"votes"},"id":131,"name":"Identifier","src":"4907:5:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint256","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"getNumberOfRegistrationVotes","referencedDeclaration":800,"type":"function (address) external returns (uint256)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":132,"name":"Identifier","src":"4915:16:0"}],"id":133,"name":"MemberAccess","src":"4915:45:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":101,"type":"address","value":"airline"},"id":134,"name":"Identifier","src":"4961:7:0"}],"id":135,"name":"FunctionCall","src":"4915:54:0"}],"id":136,"name":"Assignment","src":"4907:62:0"}],"id":137,"name":"ExpressionStatement","src":"4907:62:0"},{"attributes":{"assignments":[139]},"children":[{"attributes":{"constant":false,"name":"numberOfVotesNeeded","scope":178,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint","type":"uint256"},"id":138,"name":"ElementaryTypeName","src":"4983:4:0"}],"id":139,"name":"VariableDeclaration","src":"4983:24:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint256","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"div","referencedDeclaration":1536,"type":"function (uint256,uint256) pure returns (uint256)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":28,"type":"uint256","value":"NUMBER_OF_AIRLINES_FOR_MULTICONSESUS"},"id":140,"name":"Identifier","src":"5010:36:0"}],"id":141,"name":"MemberAccess","src":"5010:40:0"},{"attributes":{"argumentTypes":null,"hexvalue":"32","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 2","value":"2"},"id":142,"name":"Literal","src":"5051:1:0"}],"id":143,"name":"FunctionCall","src":"5010:43:0"}],"id":144,"name":"VariableDeclarationStatement","src":"4983:70:0"},{"attributes":{"falseBody":null},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":">=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":110,"type":"uint256","value":"votes"},"id":145,"name":"Identifier","src":"5072:5:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":139,"type":"uint256","value":"numberOfVotesNeeded"},"id":146,"name":"Identifier","src":"5081:19:0"}],"id":147,"name":"BinaryOperation","src":"5072:28:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"registerAirline","referencedDeclaration":726,"type":"function (address) external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":148,"name":"Identifier","src":"5120:16:0"}],"id":150,"name":"MemberAccess","src":"5120:32:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":101,"type":"address","value":"airline"},"id":151,"name":"Identifier","src":"5153:7:0"}],"id":152,"name":"FunctionCall","src":"5120:41:0"}],"id":153,"name":"ExpressionStatement","src":"5120:41:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":108,"type":"bool","value":"success"},"id":154,"name":"Identifier","src":"5179:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"74727565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"true"},"id":155,"name":"Literal","src":"5189:4:0"}],"id":156,"name":"Assignment","src":"5179:14:0"}],"id":157,"name":"ExpressionStatement","src":"5179:14:0"}],"id":158,"name":"Block","src":"5102:106:0"}],"id":159,"name":"IfStatement","src":"5068:140:0"}],"id":160,"name":"Block","src":"4831:388:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"registerAirline","referencedDeclaration":726,"type":"function (address) external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":161,"name":"Identifier","src":"5239:16:0"}],"id":163,"name":"MemberAccess","src":"5239:32:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":101,"type":"address","value":"airline"},"id":164,"name":"Identifier","src":"5272:7:0"}],"id":165,"name":"FunctionCall","src":"5239:41:0"}],"id":166,"name":"ExpressionStatement","src":"5239:41:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":108,"type":"bool","value":"success"},"id":167,"name":"Identifier","src":"5294:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"74727565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"true"},"id":168,"name":"Literal","src":"5304:4:0"}],"id":169,"name":"Assignment","src":"5294:14:0"}],"id":170,"name":"ExpressionStatement","src":"5294:14:0"}],"id":171,"name":"Block","src":"5225:94:0"}],"id":172,"name":"IfStatement","src":"4750:569:0"},{"attributes":{"functionReturnParameters":111},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"type":"tuple(bool,uint256)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":108,"type":"bool","value":"success"},"id":173,"name":"Identifier","src":"5337:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":110,"type":"uint256","value":"votes"},"id":174,"name":"Identifier","src":"5346:5:0"}],"id":175,"name":"TupleExpression","src":"5336:16:0"}],"id":176,"name":"Return","src":"5329:23:0"}],"id":177,"name":"Block","src":"4695:664:0"}],"id":178,"name":"FunctionDefinition","src":"4525:834:0"},{"attributes":{"constant":false,"documentation":"@dev Register a future flight for insuring.\\n    ","implemented":true,"isConstructor":false,"name":"registerFlight","payable":false,"scope":717,"stateMutability":"nonpayable","superFunction":null,"visibility":"external"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":198,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":179,"name":"ElementaryTypeName","src":"5459:7:0"}],"id":180,"name":"VariableDeclaration","src":"5459:15:0"},{"attributes":{"constant":false,"name":"flight","scope":198,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":181,"name":"ElementaryTypeName","src":"5476:6:0"}],"id":182,"name":"VariableDeclaration","src":"5476:13:0"},{"attributes":{"constant":false,"name":"timestamp","scope":198,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":183,"name":"ElementaryTypeName","src":"5491:7:0"}],"id":184,"name":"VariableDeclaration","src":"5491:17:0"}],"id":185,"name":"ParameterList","src":"5458:51:0"},{"attributes":{"parameters":[null]},"children":[],"id":188,"name":"ParameterList","src":"5552:0:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":186,"name":"Identifier","src":"5527:20:0"}],"id":187,"name":"ModifierInvocation","src":"5527:20:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"registerFlight","referencedDeclaration":751,"type":"function (address,string memory,uint256) external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":189,"name":"Identifier","src":"5562:16:0"}],"id":191,"name":"MemberAccess","src":"5562:31:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":180,"type":"address","value":"airline"},"id":192,"name":"Identifier","src":"5594:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":182,"type":"string calldata","value":"flight"},"id":193,"name":"Identifier","src":"5603:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":184,"type":"uint256","value":"timestamp"},"id":194,"name":"Identifier","src":"5611:9:0"}],"id":195,"name":"FunctionCall","src":"5562:59:0"}],"id":196,"name":"ExpressionStatement","src":"5562:59:0"}],"id":197,"name":"Block","src":"5552:76:0"}],"id":198,"name":"FunctionDefinition","src":"5435:193:0"},{"attributes":{"constant":false,"documentation":"@dev An airline has to provide fund to register other airilines.\\n     ","implemented":true,"isConstructor":false,"name":"fund","payable":true,"scope":717,"stateMutability":"payable","superFunction":null,"visibility":"public"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":217,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":199,"name":"ElementaryTypeName","src":"5744:7:0"}],"id":200,"name":"VariableDeclaration","src":"5744:15:0"}],"id":201,"name":"ParameterList","src":"5743:17:0"},{"attributes":{"parameters":[null]},"children":[],"id":204,"name":"ParameterList","src":"5810:0:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":202,"name":"Identifier","src":"5784:20:0"}],"id":203,"name":"ModifierInvocation","src":"5784:20:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"function (address) payable external","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"value","referencedDeclaration":null,"type":"function (uint256) returns (function (address) payable external)"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"fund","referencedDeclaration":756,"type":"function (address) payable external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":205,"name":"Identifier","src":"5821:16:0"}],"id":208,"name":"MemberAccess","src":"5821:21:0"}],"id":209,"name":"MemberAccess","src":"5821:27:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"value","referencedDeclaration":null,"type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":210,"name":"Identifier","src":"5849:3:0"}],"id":211,"name":"MemberAccess","src":"5849:9:0"}],"id":212,"name":"FunctionCall","src":"5821:38:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":200,"type":"address","value":"airline"},"id":213,"name":"Identifier","src":"5860:7:0"}],"id":214,"name":"FunctionCall","src":"5821:47:0"}],"id":215,"name":"ExpressionStatement","src":"5821:47:0"}],"id":216,"name":"Block","src":"5810:66:0"}],"id":217,"name":"FunctionDefinition","src":"5730:146:0"},{"attributes":{"constant":false,"documentation":"@dev Called after oracle has updated flight status\\n     ","implemented":true,"isConstructor":false,"name":"withdraw","payable":true,"scope":717,"stateMutability":"payable","superFunction":null,"visibility":"external"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":218,"name":"ParameterList","src":"5981:2:0"},{"attributes":{"parameters":[null]},"children":[],"id":221,"name":"ParameterList","src":"6035:0:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":219,"name":"Identifier","src":"6009:20:0"}],"id":220,"name":"ModifierInvocation","src":"6009:20:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"pay","referencedDeclaration":770,"type":"function (address) external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":222,"name":"Identifier","src":"6046:16:0"}],"id":224,"name":"MemberAccess","src":"6046:20:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":225,"name":"Identifier","src":"6067:3:0"}],"id":226,"name":"MemberAccess","src":"6067:10:0"}],"id":227,"name":"FunctionCall","src":"6046:32:0"}],"id":228,"name":"ExpressionStatement","src":"6046:32:0"}],"id":229,"name":"Block","src":"6035:51:0"}],"id":230,"name":"FunctionDefinition","src":"5964:122:0"},{"attributes":{"constant":false,"documentation":"@dev Called after oracle has updated flight status\\n    ","implemented":true,"isConstructor":false,"name":"processFlightStatus","payable":false,"scope":717,"stateMutability":"nonpayable","superFunction":null,"visibility":"internal"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":253,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":231,"name":"ElementaryTypeName","src":"6198:7:0"}],"id":232,"name":"VariableDeclaration","src":"6198:15:0"},{"attributes":{"constant":false,"name":"flight","scope":253,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":233,"name":"ElementaryTypeName","src":"6215:6:0"}],"id":234,"name":"VariableDeclaration","src":"6215:13:0"},{"attributes":{"constant":false,"name":"timestamp","scope":253,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":235,"name":"ElementaryTypeName","src":"6230:7:0"}],"id":236,"name":"VariableDeclaration","src":"6230:17:0"},{"attributes":{"constant":false,"name":"statusCode","scope":253,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":237,"name":"ElementaryTypeName","src":"6249:5:0"}],"id":238,"name":"VariableDeclaration","src":"6249:16:0"}],"id":239,"name":"ParameterList","src":"6197:69:0"},{"attributes":{"parameters":[null]},"children":[],"id":242,"name":"ParameterList","src":"6309:0:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":240,"name":"Identifier","src":"6284:20:0"}],"id":241,"name":"ModifierInvocation","src":"6284:20:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"updateFlightStatus","referencedDeclaration":788,"type":"function (address,string memory,uint256,uint8) external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":243,"name":"Identifier","src":"6319:16:0"}],"id":245,"name":"MemberAccess","src":"6319:35:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":232,"type":"address","value":"airline"},"id":246,"name":"Identifier","src":"6355:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":234,"type":"string memory","value":"flight"},"id":247,"name":"Identifier","src":"6364:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":236,"type":"uint256","value":"timestamp"},"id":248,"name":"Identifier","src":"6372:9:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":238,"type":"uint8","value":"statusCode"},"id":249,"name":"Identifier","src":"6383:10:0"}],"id":250,"name":"FunctionCall","src":"6319:75:0"}],"id":251,"name":"ExpressionStatement","src":"6319:75:0"}],"id":252,"name":"Block","src":"6309:92:0"}],"id":253,"name":"FunctionDefinition","src":"6169:232:0"},{"attributes":{"constant":false,"documentation":"@dev Called when user wants to buy flight insurance\\n     ","implemented":true,"isConstructor":false,"name":"buy","payable":true,"scope":717,"stateMutability":"payable","superFunction":null,"visibility":"external"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":272,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":254,"name":"ElementaryTypeName","src":"6502:7:0"}],"id":255,"name":"VariableDeclaration","src":"6502:15:0"},{"attributes":{"constant":false,"name":"flight","scope":272,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":256,"name":"ElementaryTypeName","src":"6519:6:0"}],"id":257,"name":"VariableDeclaration","src":"6519:13:0"}],"id":258,"name":"ParameterList","src":"6501:32:0"},{"attributes":{"parameters":[null]},"children":[],"id":261,"name":"ParameterList","src":"6584:0:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":259,"name":"Identifier","src":"6559:20:0"}],"id":260,"name":"ModifierInvocation","src":"6559:20:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"buy","referencedDeclaration":765,"type":"function (address,address,string memory) payable external"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":262,"name":"Identifier","src":"6594:16:0"}],"id":264,"name":"MemberAccess","src":"6594:20:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":265,"name":"Identifier","src":"6615:3:0"}],"id":266,"name":"MemberAccess","src":"6615:10:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":255,"type":"address","value":"airline"},"id":267,"name":"Identifier","src":"6627:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":257,"type":"string calldata","value":"flight"},"id":268,"name":"Identifier","src":"6636:6:0"}],"id":269,"name":"FunctionCall","src":"6594:49:0"}],"id":270,"name":"ExpressionStatement","src":"6594:49:0"}],"id":271,"name":"Block","src":"6584:66:0"}],"id":272,"name":"FunctionDefinition","src":"6489:161:0"},{"attributes":{"constant":false,"documentation":"@dev Gets the flight numbers\\n     ","implemented":true,"isConstructor":false,"name":"getFlightNumbers","payable":false,"scope":717,"stateMutability":"nonpayable","superFunction":null,"visibility":"external"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":273,"name":"ParameterList","src":"6740:2:0"},{"children":[{"attributes":{"constant":false,"name":"","scope":286,"stateVariable":false,"storageLocation":"default","type":"string[]","value":null,"visibility":"internal"},"children":[{"attributes":{"length":null,"type":"string[]"},"children":[{"attributes":{"name":"string","type":"string"},"id":276,"name":"ElementaryTypeName","src":"6797:6:0"}],"id":277,"name":"ArrayTypeName","src":"6797:8:0"}],"id":278,"name":"VariableDeclaration","src":"6797:8:0"}],"id":279,"name":"ParameterList","src":"6796:10:0"},{"attributes":{"arguments":null},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":41,"type":"modifier ()","value":"requireIsOperational"},"id":274,"name":"Identifier","src":"6760:20:0"}],"id":275,"name":"ModifierInvocation","src":"6760:20:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"arguments":[null],"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"string memory[] memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":[null],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"getFlightNumbers","referencedDeclaration":737,"type":"function () external returns (string memory[] memory)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":32,"type":"contract IFlightSuretyData","value":"flightSuretyData"},"id":280,"name":"Identifier","src":"6821:16:0"}],"id":282,"name":"MemberAccess","src":"6821:33:0"}],"id":283,"name":"FunctionCall","src":"6821:35:0"}],"id":284,"name":"ExpressionStatement","src":"6821:35:0"}],"id":285,"name":"Block","src":"6811:52:0"}],"id":286,"name":"FunctionDefinition","src":"6715:148:0"},{"attributes":{"constant":false,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"fetchFlightStatus","payable":false,"scope":717,"stateMutability":"nonpayable","superFunction":null,"visibility":"external"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":332,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":287,"name":"ElementaryTypeName","src":"6962:7:0"}],"id":288,"name":"VariableDeclaration","src":"6962:15:0"},{"attributes":{"constant":false,"name":"flight","scope":332,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":289,"name":"ElementaryTypeName","src":"6979:6:0"}],"id":290,"name":"VariableDeclaration","src":"6979:13:0"},{"attributes":{"constant":false,"name":"timestamp","scope":332,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":291,"name":"ElementaryTypeName","src":"6994:7:0"}],"id":292,"name":"VariableDeclaration","src":"6994:17:0"}],"id":293,"name":"ParameterList","src":"6961:51:0"},{"attributes":{"parameters":[null]},"children":[],"id":294,"name":"ParameterList","src":"7022:0:0"},{"children":[{"attributes":{"assignments":[296]},"children":[{"attributes":{"constant":false,"name":"index","scope":332,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":295,"name":"ElementaryTypeName","src":"7032:5:0"}],"id":296,"name":"VariableDeclaration","src":"7032:11:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint8","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"overloadedDeclarations":[null],"referencedDeclaration":716,"type":"function (address) returns (uint8)","value":"getRandomIndex"},"id":297,"name":"Identifier","src":"7046:14:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":298,"name":"Identifier","src":"7061:3:0"}],"id":299,"name":"MemberAccess","src":"7061:10:0"}],"id":300,"name":"FunctionCall","src":"7046:26:0"}],"id":301,"name":"VariableDeclarationStatement","src":"7032:40:0"},{"attributes":{"assignments":[303]},"children":[{"attributes":{"constant":false,"name":"key","scope":332,"stateVariable":false,"storageLocation":"default","type":"bytes32","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bytes32","type":"bytes32"},"id":302,"name":"ElementaryTypeName","src":"7140:7:0"}],"id":303,"name":"VariableDeclaration","src":"7140:11:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes32","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"overloadedDeclarations":[null],"referencedDeclaration":1590,"type":"function () pure returns (bytes32)","value":"keccak256"},"id":304,"name":"Identifier","src":"7154:9:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"member_name":"encodePacked","referencedDeclaration":null,"type":"function () pure returns (bytes memory)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1583,"type":"abi","value":"abi"},"id":305,"name":"Identifier","src":"7164:3:0"}],"id":306,"name":"MemberAccess","src":"7164:16:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":296,"type":"uint8","value":"index"},"id":307,"name":"Identifier","src":"7181:5:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":288,"type":"address","value":"airline"},"id":308,"name":"Identifier","src":"7188:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":290,"type":"string calldata","value":"flight"},"id":309,"name":"Identifier","src":"7197:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":292,"type":"uint256","value":"timestamp"},"id":310,"name":"Identifier","src":"7205:9:0"}],"id":311,"name":"FunctionCall","src":"7164:51:0"}],"id":312,"name":"FunctionCall","src":"7154:62:0"}],"id":313,"name":"VariableDeclarationStatement","src":"7140:76:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"struct FlightSuretyApp.ResponseInfo storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"struct FlightSuretyApp.ResponseInfo storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":366,"type":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)","value":"oracleResponses"},"id":314,"name":"Identifier","src":"7226:15:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":303,"type":"bytes32","value":"key"},"id":315,"name":"Identifier","src":"7242:3:0"}],"id":316,"name":"IndexAccess","src":"7226:20:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":true,"lValueRequested":false,"names":["requester","isOpen"],"type":"struct FlightSuretyApp.ResponseInfo memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":362,"type":"type(struct FlightSuretyApp.ResponseInfo storage pointer)","value":"ResponseInfo"},"id":317,"name":"Identifier","src":"7249:12:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":318,"name":"Identifier","src":"7274:3:0"}],"id":319,"name":"MemberAccess","src":"7274:10:0"},{"attributes":{"argumentTypes":null,"hexvalue":"74727565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"true"},"id":320,"name":"Literal","src":"7294:4:0"}],"id":321,"name":"FunctionCall","src":"7249:51:0"}],"id":322,"name":"Assignment","src":"7226:74:0"}],"id":323,"name":"ExpressionStatement","src":"7226:74:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"overloadedDeclarations":[null],"referencedDeclaration":396,"type":"function (uint8,address,string memory,uint256)","value":"OracleRequest"},"id":324,"name":"Identifier","src":"7316:13:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":296,"type":"uint8","value":"index"},"id":325,"name":"Identifier","src":"7330:5:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":288,"type":"address","value":"airline"},"id":326,"name":"Identifier","src":"7337:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":290,"type":"string calldata","value":"flight"},"id":327,"name":"Identifier","src":"7346:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":292,"type":"uint256","value":"timestamp"},"id":328,"name":"Identifier","src":"7354:9:0"}],"id":329,"name":"FunctionCall","src":"7316:48:0"}],"id":330,"name":"EmitStatement","src":"7311:53:0"}],"id":331,"name":"Block","src":"7022:349:0"}],"id":332,"name":"FunctionDefinition","src":"6935:436:0"},{"attributes":{"constant":false,"name":"nonce","scope":717,"stateVariable":true,"storageLocation":"default","type":"uint8","visibility":"private"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":333,"name":"ElementaryTypeName","src":"7469:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":334,"name":"Literal","src":"7491:1:0"}],"id":335,"name":"VariableDeclaration","src":"7469:23:0"},{"attributes":{"constant":true,"name":"REGISTRATION_FEE","scope":717,"stateVariable":true,"storageLocation":"default","type":"uint256","visibility":"public"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":336,"name":"ElementaryTypeName","src":"7545:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":"ether","token":"number","type":"int_const 1000000000000000000","value":"1"},"id":337,"name":"Literal","src":"7588:7:0"}],"id":338,"name":"VariableDeclaration","src":"7545:50:0"},{"attributes":{"constant":true,"name":"MIN_RESPONSES","scope":717,"stateVariable":true,"storageLocation":"default","type":"uint256","visibility":"private"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":339,"name":"ElementaryTypeName","src":"7662:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"33","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 3","value":"3"},"id":340,"name":"Literal","src":"7703:1:0"}],"id":341,"name":"VariableDeclaration","src":"7662:42:0"},{"attributes":{"canonicalName":"FlightSuretyApp.Oracle","name":"Oracle","scope":717,"visibility":"public"},"children":[{"attributes":{"constant":false,"name":"isRegistered","scope":348,"stateVariable":false,"storageLocation":"default","type":"bool","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bool","type":"bool"},"id":342,"name":"ElementaryTypeName","src":"7736:4:0"}],"id":343,"name":"VariableDeclaration","src":"7736:17:0"},{"attributes":{"constant":false,"name":"indexes","scope":348,"stateVariable":false,"storageLocation":"default","type":"uint8[3]","value":null,"visibility":"internal"},"children":[{"attributes":{"type":"uint8[3]"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":344,"name":"ElementaryTypeName","src":"7763:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"33","isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"subdenomination":null,"token":"number","type":null,"value":"3"},"id":345,"name":"Literal","src":"7769:1:0"}],"id":346,"name":"ArrayTypeName","src":"7763:8:0"}],"id":347,"name":"VariableDeclaration","src":"7763:16:0"}],"id":348,"name":"StructDefinition","src":"7712:74:0"},{"attributes":{"constant":false,"name":"oracles","scope":717,"stateVariable":true,"storageLocation":"default","type":"mapping(address => struct FlightSuretyApp.Oracle)","value":null,"visibility":"private"},"children":[{"attributes":{"type":"mapping(address => struct FlightSuretyApp.Oracle)"},"children":[{"attributes":{"name":"address","type":"address"},"id":349,"name":"ElementaryTypeName","src":"7836:7:0"},{"attributes":{"contractScope":null,"name":"Oracle","referencedDeclaration":348,"type":"struct FlightSuretyApp.Oracle"},"id":350,"name":"UserDefinedTypeName","src":"7847:6:0"}],"id":351,"name":"Mapping","src":"7828:26:0"}],"id":352,"name":"VariableDeclaration","src":"7828:42:0"},{"attributes":{"canonicalName":"FlightSuretyApp.ResponseInfo","name":"ResponseInfo","scope":717,"visibility":"public"},"children":[{"attributes":{"constant":false,"name":"requester","scope":362,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":353,"name":"ElementaryTypeName","src":"7947:7:0"}],"id":354,"name":"VariableDeclaration","src":"7947:17:0"},{"attributes":{"constant":false,"name":"isOpen","scope":362,"stateVariable":false,"storageLocation":"default","type":"bool","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bool","type":"bool"},"id":355,"name":"ElementaryTypeName","src":"8036:4:0"}],"id":356,"name":"VariableDeclaration","src":"8036:11:0"},{"attributes":{"constant":false,"name":"responses","scope":362,"stateVariable":false,"storageLocation":"default","type":"mapping(uint8 => address[])","value":null,"visibility":"internal"},"children":[{"attributes":{"type":"mapping(uint8 => address[])"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":357,"name":"ElementaryTypeName","src":"8142:5:0"},{"attributes":{"length":null,"type":"address[]"},"children":[{"attributes":{"name":"address","type":"address"},"id":358,"name":"ElementaryTypeName","src":"8151:7:0"}],"id":359,"name":"ArrayTypeName","src":"8151:9:0"}],"id":360,"name":"Mapping","src":"8134:27:0"}],"id":361,"name":"VariableDeclaration","src":"8134:37:0"}],"id":362,"name":"StructDefinition","src":"7917:515:0"},{"attributes":{"constant":false,"name":"oracleResponses","scope":717,"stateVariable":true,"storageLocation":"default","type":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo)","value":null,"visibility":"private"},"children":[{"attributes":{"type":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo)"},"children":[{"attributes":{"name":"bytes32","type":"bytes32"},"id":363,"name":"ElementaryTypeName","src":"8524:7:0"},{"attributes":{"contractScope":null,"name":"ResponseInfo","referencedDeclaration":362,"type":"struct FlightSuretyApp.ResponseInfo"},"id":364,"name":"UserDefinedTypeName","src":"8535:12:0"}],"id":365,"name":"Mapping","src":"8516:32:0"}],"id":366,"name":"VariableDeclaration","src":"8516:56:0"},{"attributes":{"anonymous":false,"documentation":null,"name":"FlightStatusInfo"},"children":[{"children":[{"attributes":{"constant":false,"indexed":false,"name":"airline","scope":376,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":367,"name":"ElementaryTypeName","src":"8660:7:0"}],"id":368,"name":"VariableDeclaration","src":"8660:15:0"},{"attributes":{"constant":false,"indexed":false,"name":"flight","scope":376,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":369,"name":"ElementaryTypeName","src":"8677:6:0"}],"id":370,"name":"VariableDeclaration","src":"8677:13:0"},{"attributes":{"constant":false,"indexed":false,"name":"timestamp","scope":376,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":371,"name":"ElementaryTypeName","src":"8692:7:0"}],"id":372,"name":"VariableDeclaration","src":"8692:17:0"},{"attributes":{"constant":false,"indexed":false,"name":"status","scope":376,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":373,"name":"ElementaryTypeName","src":"8711:5:0"}],"id":374,"name":"VariableDeclaration","src":"8711:12:0"}],"id":375,"name":"ParameterList","src":"8659:65:0"}],"id":376,"name":"EventDefinition","src":"8637:88:0"},{"attributes":{"anonymous":false,"documentation":null,"name":"OracleReport"},"children":[{"children":[{"attributes":{"constant":false,"indexed":false,"name":"airline","scope":386,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":377,"name":"ElementaryTypeName","src":"8750:7:0"}],"id":378,"name":"VariableDeclaration","src":"8750:15:0"},{"attributes":{"constant":false,"indexed":false,"name":"flight","scope":386,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":379,"name":"ElementaryTypeName","src":"8767:6:0"}],"id":380,"name":"VariableDeclaration","src":"8767:13:0"},{"attributes":{"constant":false,"indexed":false,"name":"timestamp","scope":386,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":381,"name":"ElementaryTypeName","src":"8782:7:0"}],"id":382,"name":"VariableDeclaration","src":"8782:17:0"},{"attributes":{"constant":false,"indexed":false,"name":"status","scope":386,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":383,"name":"ElementaryTypeName","src":"8801:5:0"}],"id":384,"name":"VariableDeclaration","src":"8801:12:0"}],"id":385,"name":"ParameterList","src":"8749:65:0"}],"id":386,"name":"EventDefinition","src":"8731:84:0"},{"attributes":{"anonymous":false,"documentation":null,"name":"OracleRequest"},"children":[{"children":[{"attributes":{"constant":false,"indexed":false,"name":"index","scope":396,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":387,"name":"ElementaryTypeName","src":"9005:5:0"}],"id":388,"name":"VariableDeclaration","src":"9005:11:0"},{"attributes":{"constant":false,"indexed":false,"name":"airline","scope":396,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":389,"name":"ElementaryTypeName","src":"9018:7:0"}],"id":390,"name":"VariableDeclaration","src":"9018:15:0"},{"attributes":{"constant":false,"indexed":false,"name":"flight","scope":396,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":391,"name":"ElementaryTypeName","src":"9035:6:0"}],"id":392,"name":"VariableDeclaration","src":"9035:13:0"},{"attributes":{"constant":false,"indexed":false,"name":"timestamp","scope":396,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":393,"name":"ElementaryTypeName","src":"9050:7:0"}],"id":394,"name":"VariableDeclaration","src":"9050:17:0"}],"id":395,"name":"ParameterList","src":"9004:64:0"}],"id":396,"name":"EventDefinition","src":"8985:84:0"},{"attributes":{"constant":false,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"registerOracle","payable":true,"scope":717,"stateMutability":"payable","superFunction":null,"visibility":"external"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":397,"name":"ParameterList","src":"9171:31:0"},{"attributes":{"parameters":[null]},"children":[],"id":398,"name":"ParameterList","src":"9280:0:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d816be12125be1158710c749733a799c8c31accb3458bded1228070a0ef4fba1","typeString":"literal_string \\"Registration fee is required\\""}],"overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"type":"function (bool,string memory) pure","value":"require"},"id":399,"name":"Identifier","src":"9326:7:0"},{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":">=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"value","referencedDeclaration":null,"type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":400,"name":"Identifier","src":"9334:3:0"}],"id":401,"name":"MemberAccess","src":"9334:9:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":338,"type":"uint256","value":"REGISTRATION_FEE"},"id":402,"name":"Identifier","src":"9347:16:0"}],"id":403,"name":"BinaryOperation","src":"9334:29:0"},{"attributes":{"argumentTypes":null,"hexvalue":"526567697374726174696f6e20666565206973207265717569726564","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Registration fee is required\\"","value":"Registration fee is required"},"id":404,"name":"Literal","src":"9365:30:0"}],"id":405,"name":"FunctionCall","src":"9326:70:0"}],"id":406,"name":"ExpressionStatement","src":"9326:70:0"},{"attributes":{"assignments":[411]},"children":[{"attributes":{"constant":false,"name":"indexes","scope":428,"stateVariable":false,"storageLocation":"memory","type":"uint8[3]","value":null,"visibility":"internal"},"children":[{"attributes":{"type":"uint8[3]"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":409,"name":"ElementaryTypeName","src":"9407:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"33","isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"subdenomination":null,"token":"number","type":null,"value":"3"},"id":408,"name":"Literal","src":"9413:1:0"}],"id":410,"name":"ArrayTypeName","src":"9407:8:0"}],"id":411,"name":"VariableDeclaration","src":"9407:23:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint8[3] memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"overloadedDeclarations":[null],"referencedDeclaration":671,"type":"function (address) returns (uint8[3] memory)","value":"generateIndexes"},"id":412,"name":"Identifier","src":"9433:15:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":413,"name":"Identifier","src":"9449:3:0"}],"id":414,"name":"MemberAccess","src":"9449:10:0"}],"id":415,"name":"FunctionCall","src":"9433:27:0"}],"id":416,"name":"VariableDeclarationStatement","src":"9407:53:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":352,"type":"mapping(address => struct FlightSuretyApp.Oracle storage ref)","value":"oracles"},"id":417,"name":"Identifier","src":"9471:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":418,"name":"Identifier","src":"9479:3:0"}],"id":419,"name":"MemberAccess","src":"9479:10:0"}],"id":420,"name":"IndexAccess","src":"9471:19:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":true,"lValueRequested":false,"names":["isRegistered","indexes"],"type":"struct FlightSuretyApp.Oracle memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":348,"type":"type(struct FlightSuretyApp.Oracle storage pointer)","value":"Oracle"},"id":421,"name":"Identifier","src":"9493:6:0"},{"attributes":{"argumentTypes":null,"hexvalue":"74727565","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"bool","type":"bool","value":"true"},"id":422,"name":"Literal","src":"9515:4:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":411,"type":"uint8[3] memory","value":"indexes"},"id":423,"name":"Identifier","src":"9530:7:0"}],"id":424,"name":"FunctionCall","src":"9493:46:0"}],"id":425,"name":"Assignment","src":"9471:68:0"}],"id":426,"name":"ExpressionStatement","src":"9471:68:0"}],"id":427,"name":"Block","src":"9280:266:0"}],"id":428,"name":"FunctionDefinition","src":"9119:427:0"},{"attributes":{"constant":true,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"getMyIndexes","payable":false,"scope":717,"stateMutability":"view","superFunction":null,"visibility":"external"},"children":[{"attributes":{"parameters":[null]},"children":[],"id":429,"name":"ParameterList","src":"9573:2:0"},{"children":[{"attributes":{"constant":false,"name":"","scope":451,"stateVariable":false,"storageLocation":"default","type":"uint8[3]","value":null,"visibility":"internal"},"children":[{"attributes":{"type":"uint8[3]"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":430,"name":"ElementaryTypeName","src":"9598:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"33","isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"subdenomination":null,"token":"number","type":null,"value":"3"},"id":431,"name":"Literal","src":"9604:1:0"}],"id":432,"name":"ArrayTypeName","src":"9598:8:0"}],"id":433,"name":"VariableDeclaration","src":"9598:8:0"}],"id":434,"name":"ParameterList","src":"9597:10:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7ad91ba94f1263d3a6f244196287f97a8fd9f7f42568625db696c1c797d81898","typeString":"literal_string \\"Not registered as an oracle\\""}],"overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"type":"function (bool,string memory) pure","value":"require"},"id":435,"name":"Identifier","src":"9618:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"isRegistered","referencedDeclaration":343,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":352,"type":"mapping(address => struct FlightSuretyApp.Oracle storage ref)","value":"oracles"},"id":436,"name":"Identifier","src":"9626:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":437,"name":"Identifier","src":"9634:3:0"}],"id":438,"name":"MemberAccess","src":"9634:10:0"}],"id":439,"name":"IndexAccess","src":"9626:19:0"}],"id":440,"name":"MemberAccess","src":"9626:32:0"},{"attributes":{"argumentTypes":null,"hexvalue":"4e6f74207265676973746572656420617320616e206f7261636c65","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Not registered as an oracle\\"","value":"Not registered as an oracle"},"id":441,"name":"Literal","src":"9660:29:0"}],"id":442,"name":"FunctionCall","src":"9618:72:0"}],"id":443,"name":"ExpressionStatement","src":"9618:72:0"},{"attributes":{"functionReturnParameters":434},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"indexes","referencedDeclaration":347,"type":"uint8[3] storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":352,"type":"mapping(address => struct FlightSuretyApp.Oracle storage ref)","value":"oracles"},"id":444,"name":"Identifier","src":"9708:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":445,"name":"Identifier","src":"9716:3:0"}],"id":446,"name":"MemberAccess","src":"9716:10:0"}],"id":447,"name":"IndexAccess","src":"9708:19:0"}],"id":448,"name":"MemberAccess","src":"9708:27:0"}],"id":449,"name":"Return","src":"9701:34:0"}],"id":450,"name":"Block","src":"9608:134:0"}],"id":451,"name":"FunctionDefinition","src":"9552:190:0"},{"attributes":{"constant":false,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"submitOracleResponse","payable":false,"scope":717,"stateMutability":"nonpayable","superFunction":null,"visibility":"external"},"children":[{"children":[{"attributes":{"constant":false,"name":"index","scope":564,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":452,"name":"ElementaryTypeName","src":"10148:5:0"}],"id":453,"name":"VariableDeclaration","src":"10148:11:0"},{"attributes":{"constant":false,"name":"airline","scope":564,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":454,"name":"ElementaryTypeName","src":"10189:7:0"}],"id":455,"name":"VariableDeclaration","src":"10189:15:0"},{"attributes":{"constant":false,"name":"flight","scope":564,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":456,"name":"ElementaryTypeName","src":"10234:6:0"}],"id":457,"name":"VariableDeclaration","src":"10234:13:0"},{"attributes":{"constant":false,"name":"timestamp","scope":564,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":458,"name":"ElementaryTypeName","src":"10277:7:0"}],"id":459,"name":"VariableDeclaration","src":"10277:17:0"},{"attributes":{"constant":false,"name":"statusCode","scope":564,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":460,"name":"ElementaryTypeName","src":"10324:5:0"}],"id":461,"name":"VariableDeclaration","src":"10324:16:0"}],"id":462,"name":"ParameterList","src":"10118:248:0"},{"attributes":{"parameters":[null]},"children":[],"id":463,"name":"ParameterList","src":"10404:0:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d965dbc170db16ad14bba2edfc00f6001ae6b4f1ba552726c8baabc35d18e958","typeString":"literal_string \\"Index does not match oracle request\\""}],"overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"type":"function (bool,string memory) pure","value":"require"},"id":464,"name":"Identifier","src":"10414:7:0"},{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"||","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"||","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"indexes","referencedDeclaration":347,"type":"uint8[3] storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":352,"type":"mapping(address => struct FlightSuretyApp.Oracle storage ref)","value":"oracles"},"id":465,"name":"Identifier","src":"10423:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":466,"name":"Identifier","src":"10431:3:0"}],"id":467,"name":"MemberAccess","src":"10431:10:0"}],"id":468,"name":"IndexAccess","src":"10423:19:0"}],"id":469,"name":"MemberAccess","src":"10423:27:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":470,"name":"Literal","src":"10451:1:0"}],"id":471,"name":"IndexAccess","src":"10423:30:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":453,"type":"uint8","value":"index"},"id":472,"name":"Identifier","src":"10457:5:0"}],"id":473,"name":"BinaryOperation","src":"10423:39:0"}],"id":474,"name":"TupleExpression","src":"10422:41:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"indexes","referencedDeclaration":347,"type":"uint8[3] storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":352,"type":"mapping(address => struct FlightSuretyApp.Oracle storage ref)","value":"oracles"},"id":475,"name":"Identifier","src":"10468:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":476,"name":"Identifier","src":"10476:3:0"}],"id":477,"name":"MemberAccess","src":"10476:10:0"}],"id":478,"name":"IndexAccess","src":"10468:19:0"}],"id":479,"name":"MemberAccess","src":"10468:27:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":480,"name":"Literal","src":"10496:1:0"}],"id":481,"name":"IndexAccess","src":"10468:30:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":453,"type":"uint8","value":"index"},"id":482,"name":"Identifier","src":"10502:5:0"}],"id":483,"name":"BinaryOperation","src":"10468:39:0"}],"id":484,"name":"TupleExpression","src":"10467:41:0"}],"id":485,"name":"BinaryOperation","src":"10422:86:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"indexes","referencedDeclaration":347,"type":"uint8[3] storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.Oracle storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":352,"type":"mapping(address => struct FlightSuretyApp.Oracle storage ref)","value":"oracles"},"id":486,"name":"Identifier","src":"10513:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":487,"name":"Identifier","src":"10521:3:0"}],"id":488,"name":"MemberAccess","src":"10521:10:0"}],"id":489,"name":"IndexAccess","src":"10513:19:0"}],"id":490,"name":"MemberAccess","src":"10513:27:0"},{"attributes":{"argumentTypes":null,"hexvalue":"32","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 2","value":"2"},"id":491,"name":"Literal","src":"10541:1:0"}],"id":492,"name":"IndexAccess","src":"10513:30:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":453,"type":"uint8","value":"index"},"id":493,"name":"Identifier","src":"10547:5:0"}],"id":494,"name":"BinaryOperation","src":"10513:39:0"}],"id":495,"name":"TupleExpression","src":"10512:41:0"}],"id":496,"name":"BinaryOperation","src":"10422:131:0"},{"attributes":{"argumentTypes":null,"hexvalue":"496e64657820646f6573206e6f74206d61746368206f7261636c652072657175657374","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Index does not match oracle request\\"","value":"Index does not match oracle request"},"id":497,"name":"Literal","src":"10555:37:0"}],"id":498,"name":"FunctionCall","src":"10414:179:0"}],"id":499,"name":"ExpressionStatement","src":"10414:179:0"},{"attributes":{"assignments":[501]},"children":[{"attributes":{"constant":false,"name":"key","scope":564,"stateVariable":false,"storageLocation":"default","type":"bytes32","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bytes32","type":"bytes32"},"id":500,"name":"ElementaryTypeName","src":"10605:7:0"}],"id":501,"name":"VariableDeclaration","src":"10605:11:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes32","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"overloadedDeclarations":[null],"referencedDeclaration":1590,"type":"function () pure returns (bytes32)","value":"keccak256"},"id":502,"name":"Identifier","src":"10619:9:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"member_name":"encodePacked","referencedDeclaration":null,"type":"function () pure returns (bytes memory)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1583,"type":"abi","value":"abi"},"id":503,"name":"Identifier","src":"10629:3:0"}],"id":504,"name":"MemberAccess","src":"10629:16:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":453,"type":"uint8","value":"index"},"id":505,"name":"Identifier","src":"10646:5:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":455,"type":"address","value":"airline"},"id":506,"name":"Identifier","src":"10653:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":457,"type":"string calldata","value":"flight"},"id":507,"name":"Identifier","src":"10662:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":459,"type":"uint256","value":"timestamp"},"id":508,"name":"Identifier","src":"10670:9:0"}],"id":509,"name":"FunctionCall","src":"10629:51:0"}],"id":510,"name":"FunctionCall","src":"10619:62:0"}],"id":511,"name":"VariableDeclarationStatement","src":"10605:76:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0a2e30b8d2520f68d73f3a889c22abe7fe4574811afeeeb31c4f15b47e52e1c1","typeString":"literal_string \\"Flight or timestamp do not match oracle request\\""}],"overloadedDeclarations":[1599,1600],"referencedDeclaration":1600,"type":"function (bool,string memory) pure","value":"require"},"id":512,"name":"Identifier","src":"10691:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"isOpen","referencedDeclaration":356,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.ResponseInfo storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":366,"type":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)","value":"oracleResponses"},"id":513,"name":"Identifier","src":"10699:15:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":501,"type":"bytes32","value":"key"},"id":514,"name":"Identifier","src":"10715:3:0"}],"id":515,"name":"IndexAccess","src":"10699:20:0"}],"id":516,"name":"MemberAccess","src":"10699:27:0"},{"attributes":{"argumentTypes":null,"hexvalue":"466c69676874206f722074696d657374616d7020646f206e6f74206d61746368206f7261636c652072657175657374","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"string","type":"literal_string \\"Flight or timestamp do not match oracle request\\"","value":"Flight or timestamp do not match oracle request"},"id":517,"name":"Literal","src":"10728:49:0"}],"id":518,"name":"FunctionCall","src":"10691:87:0"}],"id":519,"name":"ExpressionStatement","src":"10691:87:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint256","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"push","referencedDeclaration":null,"type":"function (address) returns (uint256)"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"address[] storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"responses","referencedDeclaration":361,"type":"mapping(uint8 => address[] storage ref)"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.ResponseInfo storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":366,"type":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)","value":"oracleResponses"},"id":520,"name":"Identifier","src":"10789:15:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":501,"type":"bytes32","value":"key"},"id":521,"name":"Identifier","src":"10805:3:0"}],"id":522,"name":"IndexAccess","src":"10789:20:0"}],"id":523,"name":"MemberAccess","src":"10789:30:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":461,"type":"uint8","value":"statusCode"},"id":524,"name":"Identifier","src":"10820:10:0"}],"id":525,"name":"IndexAccess","src":"10789:42:0"}],"id":526,"name":"MemberAccess","src":"10789:47:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"sender","referencedDeclaration":null,"type":"address"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1596,"type":"msg","value":"msg"},"id":527,"name":"Identifier","src":"10837:3:0"}],"id":528,"name":"MemberAccess","src":"10837:10:0"}],"id":529,"name":"FunctionCall","src":"10789:59:0"}],"id":530,"name":"ExpressionStatement","src":"10789:59:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"overloadedDeclarations":[null],"referencedDeclaration":386,"type":"function (address,string memory,uint256,uint8)","value":"OracleReport"},"id":531,"name":"Identifier","src":"11003:12:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":455,"type":"address","value":"airline"},"id":532,"name":"Identifier","src":"11016:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":457,"type":"string calldata","value":"flight"},"id":533,"name":"Identifier","src":"11025:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":459,"type":"uint256","value":"timestamp"},"id":534,"name":"Identifier","src":"11033:9:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":461,"type":"uint8","value":"statusCode"},"id":535,"name":"Identifier","src":"11044:10:0"}],"id":536,"name":"FunctionCall","src":"11003:52:0"}],"id":537,"name":"EmitStatement","src":"10998:57:0"},{"attributes":{"falseBody":null},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":">=","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"length","referencedDeclaration":null,"type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"address[] storage ref"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"member_name":"responses","referencedDeclaration":361,"type":"mapping(uint8 => address[] storage ref)"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"struct FlightSuretyApp.ResponseInfo storage ref"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":366,"type":"mapping(bytes32 => struct FlightSuretyApp.ResponseInfo storage ref)","value":"oracleResponses"},"id":538,"name":"Identifier","src":"11069:15:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":501,"type":"bytes32","value":"key"},"id":539,"name":"Identifier","src":"11085:3:0"}],"id":540,"name":"IndexAccess","src":"11069:20:0"}],"id":541,"name":"MemberAccess","src":"11069:30:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":461,"type":"uint8","value":"statusCode"},"id":542,"name":"Identifier","src":"11100:10:0"}],"id":543,"name":"IndexAccess","src":"11069:42:0"}],"id":544,"name":"MemberAccess","src":"11069:49:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":341,"type":"uint256","value":"MIN_RESPONSES"},"id":545,"name":"Identifier","src":"11122:13:0"}],"id":546,"name":"BinaryOperation","src":"11069:66:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"overloadedDeclarations":[null],"referencedDeclaration":376,"type":"function (address,string memory,uint256,uint8)","value":"FlightStatusInfo"},"id":547,"name":"Identifier","src":"11157:16:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":455,"type":"address","value":"airline"},"id":548,"name":"Identifier","src":"11174:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":457,"type":"string calldata","value":"flight"},"id":549,"name":"Identifier","src":"11183:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":459,"type":"uint256","value":"timestamp"},"id":550,"name":"Identifier","src":"11191:9:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":461,"type":"uint8","value":"statusCode"},"id":551,"name":"Identifier","src":"11202:10:0"}],"id":552,"name":"FunctionCall","src":"11157:56:0"}],"id":553,"name":"EmitStatement","src":"11152:61:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"tuple()","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"overloadedDeclarations":[null],"referencedDeclaration":253,"type":"function (address,string memory,uint256,uint8)","value":"processFlightStatus"},"id":554,"name":"Identifier","src":"11279:19:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":455,"type":"address","value":"airline"},"id":555,"name":"Identifier","src":"11299:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":457,"type":"string calldata","value":"flight"},"id":556,"name":"Identifier","src":"11308:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":459,"type":"uint256","value":"timestamp"},"id":557,"name":"Identifier","src":"11316:9:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":461,"type":"uint8","value":"statusCode"},"id":558,"name":"Identifier","src":"11327:10:0"}],"id":559,"name":"FunctionCall","src":"11279:59:0"}],"id":560,"name":"ExpressionStatement","src":"11279:59:0"}],"id":561,"name":"Block","src":"11137:212:0"}],"id":562,"name":"IfStatement","src":"11065:284:0"}],"id":563,"name":"Block","src":"10404:951:0"}],"id":564,"name":"FunctionDefinition","src":"10064:1291:0"},{"attributes":{"constant":true,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"getFlightKey","payable":false,"scope":717,"stateMutability":"pure","superFunction":null,"visibility":"internal"},"children":[{"children":[{"attributes":{"constant":false,"name":"airline","scope":585,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":565,"name":"ElementaryTypeName","src":"11383:7:0"}],"id":566,"name":"VariableDeclaration","src":"11383:15:0"},{"attributes":{"constant":false,"name":"flight","scope":585,"stateVariable":false,"storageLocation":"default","type":"string","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"string","type":"string"},"id":567,"name":"ElementaryTypeName","src":"11400:6:0"}],"id":568,"name":"VariableDeclaration","src":"11400:13:0"},{"attributes":{"constant":false,"name":"timestamp","scope":585,"stateVariable":false,"storageLocation":"default","type":"uint256","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint256","type":"uint256"},"id":569,"name":"ElementaryTypeName","src":"11415:7:0"}],"id":570,"name":"VariableDeclaration","src":"11415:17:0"}],"id":571,"name":"ParameterList","src":"11382:51:0"},{"children":[{"attributes":{"constant":false,"name":"","scope":585,"stateVariable":false,"storageLocation":"default","type":"bytes32","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"bytes32","type":"bytes32"},"id":572,"name":"ElementaryTypeName","src":"11456:7:0"}],"id":573,"name":"VariableDeclaration","src":"11456:7:0"}],"id":574,"name":"ParameterList","src":"11455:9:0"},{"children":[{"attributes":{"functionReturnParameters":574},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes32","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"overloadedDeclarations":[null],"referencedDeclaration":1590,"type":"function () pure returns (bytes32)","value":"keccak256"},"id":575,"name":"Identifier","src":"11482:9:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"member_name":"encodePacked","referencedDeclaration":null,"type":"function () pure returns (bytes memory)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1583,"type":"abi","value":"abi"},"id":576,"name":"Identifier","src":"11492:3:0"}],"id":577,"name":"MemberAccess","src":"11492:16:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":566,"type":"address","value":"airline"},"id":578,"name":"Identifier","src":"11509:7:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":568,"type":"string memory","value":"flight"},"id":579,"name":"Identifier","src":"11518:6:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":570,"type":"uint256","value":"timestamp"},"id":580,"name":"Identifier","src":"11526:9:0"}],"id":581,"name":"FunctionCall","src":"11492:44:0"}],"id":582,"name":"FunctionCall","src":"11482:55:0"}],"id":583,"name":"Return","src":"11475:62:0"}],"id":584,"name":"Block","src":"11465:79:0"}],"id":585,"name":"FunctionDefinition","src":"11361:183:0"},{"attributes":{"constant":false,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"generateIndexes","payable":false,"scope":717,"stateMutability":"nonpayable","superFunction":null,"visibility":"internal"},"children":[{"children":[{"attributes":{"constant":false,"name":"account","scope":671,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":586,"name":"ElementaryTypeName","src":"11639:7:0"}],"id":587,"name":"VariableDeclaration","src":"11639:15:0"}],"id":588,"name":"ParameterList","src":"11638:17:0"},{"children":[{"attributes":{"constant":false,"name":"","scope":671,"stateVariable":false,"storageLocation":"default","type":"uint8[3]","value":null,"visibility":"internal"},"children":[{"attributes":{"type":"uint8[3]"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":589,"name":"ElementaryTypeName","src":"11673:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"33","isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"subdenomination":null,"token":"number","type":null,"value":"3"},"id":590,"name":"Literal","src":"11679:1:0"}],"id":591,"name":"ArrayTypeName","src":"11673:8:0"}],"id":592,"name":"VariableDeclaration","src":"11673:8:0"}],"id":593,"name":"ParameterList","src":"11672:10:0"},{"children":[{"attributes":{"assignments":[null],"initialValue":null},"children":[{"attributes":{"constant":false,"name":"indexes","scope":671,"stateVariable":false,"storageLocation":"memory","type":"uint8[3]","value":null,"visibility":"internal"},"children":[{"attributes":{"type":"uint8[3]"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":596,"name":"ElementaryTypeName","src":"11693:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"33","isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"subdenomination":null,"token":"number","type":null,"value":"3"},"id":595,"name":"Literal","src":"11699:1:0"}],"id":597,"name":"ArrayTypeName","src":"11693:8:0"}],"id":598,"name":"VariableDeclaration","src":"11693:23:0"}],"id":599,"name":"VariableDeclarationStatement","src":"11693:23:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":600,"name":"Identifier","src":"11726:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":601,"name":"Literal","src":"11734:1:0"}],"id":602,"name":"IndexAccess","src":"11726:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint8","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"overloadedDeclarations":[null],"referencedDeclaration":716,"type":"function (address) returns (uint8)","value":"getRandomIndex"},"id":603,"name":"Identifier","src":"11739:14:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":587,"type":"address","value":"account"},"id":604,"name":"Identifier","src":"11754:7:0"}],"id":605,"name":"FunctionCall","src":"11739:23:0"}],"id":606,"name":"Assignment","src":"11726:36:0"}],"id":607,"name":"ExpressionStatement","src":"11726:36:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":608,"name":"Identifier","src":"11773:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":609,"name":"Literal","src":"11781:1:0"}],"id":610,"name":"IndexAccess","src":"11773:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":611,"name":"Identifier","src":"11786:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":612,"name":"Literal","src":"11794:1:0"}],"id":613,"name":"IndexAccess","src":"11786:10:0"}],"id":614,"name":"Assignment","src":"11773:23:0"}],"id":615,"name":"ExpressionStatement","src":"11773:23:0"},{"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":616,"name":"Identifier","src":"11812:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":617,"name":"Literal","src":"11820:1:0"}],"id":618,"name":"IndexAccess","src":"11812:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":619,"name":"Identifier","src":"11826:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":620,"name":"Literal","src":"11834:1:0"}],"id":621,"name":"IndexAccess","src":"11826:10:0"}],"id":622,"name":"BinaryOperation","src":"11812:24:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":623,"name":"Identifier","src":"11852:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":624,"name":"Literal","src":"11860:1:0"}],"id":625,"name":"IndexAccess","src":"11852:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint8","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"overloadedDeclarations":[null],"referencedDeclaration":716,"type":"function (address) returns (uint8)","value":"getRandomIndex"},"id":626,"name":"Identifier","src":"11865:14:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":587,"type":"address","value":"account"},"id":627,"name":"Identifier","src":"11880:7:0"}],"id":628,"name":"FunctionCall","src":"11865:23:0"}],"id":629,"name":"Assignment","src":"11852:36:0"}],"id":630,"name":"ExpressionStatement","src":"11852:36:0"}],"id":631,"name":"Block","src":"11838:61:0"}],"id":632,"name":"WhileStatement","src":"11806:93:0"},{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":633,"name":"Identifier","src":"11909:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"32","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 2","value":"2"},"id":634,"name":"Literal","src":"11917:1:0"}],"id":635,"name":"IndexAccess","src":"11909:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":636,"name":"Identifier","src":"11922:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":637,"name":"Literal","src":"11930:1:0"}],"id":638,"name":"IndexAccess","src":"11922:10:0"}],"id":639,"name":"Assignment","src":"11909:23:0"}],"id":640,"name":"ExpressionStatement","src":"11909:23:0"},{"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"||","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":641,"name":"Identifier","src":"11949:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"32","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 2","value":"2"},"id":642,"name":"Literal","src":"11957:1:0"}],"id":643,"name":"IndexAccess","src":"11949:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":644,"name":"Identifier","src":"11963:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":645,"name":"Literal","src":"11971:1:0"}],"id":646,"name":"IndexAccess","src":"11963:10:0"}],"id":647,"name":"BinaryOperation","src":"11949:24:0"}],"id":648,"name":"TupleExpression","src":"11948:26:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"type":"bool"},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"==","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":649,"name":"Identifier","src":"11979:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"32","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 2","value":"2"},"id":650,"name":"Literal","src":"11987:1:0"}],"id":651,"name":"IndexAccess","src":"11979:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":652,"name":"Identifier","src":"11993:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"31","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 1","value":"1"},"id":653,"name":"Literal","src":"12001:1:0"}],"id":654,"name":"IndexAccess","src":"11993:10:0"}],"id":655,"name":"BinaryOperation","src":"11979:24:0"}],"id":656,"name":"TupleExpression","src":"11978:26:0"}],"id":657,"name":"BinaryOperation","src":"11948:56:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":658,"name":"Identifier","src":"12020:7:0"},{"attributes":{"argumentTypes":null,"hexvalue":"32","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 2","value":"2"},"id":659,"name":"Literal","src":"12028:1:0"}],"id":660,"name":"IndexAccess","src":"12020:10:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint8","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"overloadedDeclarations":[null],"referencedDeclaration":716,"type":"function (address) returns (uint8)","value":"getRandomIndex"},"id":661,"name":"Identifier","src":"12033:14:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":587,"type":"address","value":"account"},"id":662,"name":"Identifier","src":"12048:7:0"}],"id":663,"name":"FunctionCall","src":"12033:23:0"}],"id":664,"name":"Assignment","src":"12020:36:0"}],"id":665,"name":"ExpressionStatement","src":"12020:36:0"}],"id":666,"name":"Block","src":"12006:61:0"}],"id":667,"name":"WhileStatement","src":"11942:125:0"},{"attributes":{"functionReturnParameters":593},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":598,"type":"uint8[3] memory","value":"indexes"},"id":668,"name":"Identifier","src":"12084:7:0"}],"id":669,"name":"Return","src":"12077:14:0"}],"id":670,"name":"Block","src":"11683:415:0"}],"id":671,"name":"FunctionDefinition","src":"11614:484:0"},{"attributes":{"constant":false,"documentation":null,"implemented":true,"isConstructor":false,"modifiers":[null],"name":"getRandomIndex","payable":false,"scope":717,"stateMutability":"nonpayable","superFunction":null,"visibility":"internal"},"children":[{"children":[{"attributes":{"constant":false,"name":"account","scope":716,"stateVariable":false,"storageLocation":"default","type":"address","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"address","type":"address"},"id":672,"name":"ElementaryTypeName","src":"12192:7:0"}],"id":673,"name":"VariableDeclaration","src":"12192:15:0"}],"id":674,"name":"ParameterList","src":"12191:17:0"},{"children":[{"attributes":{"constant":false,"name":"","scope":716,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":675,"name":"ElementaryTypeName","src":"12227:5:0"}],"id":676,"name":"VariableDeclaration","src":"12227:5:0"}],"id":677,"name":"ParameterList","src":"12226:7:0"},{"children":[{"attributes":{"assignments":[679]},"children":[{"attributes":{"constant":false,"name":"maxValue","scope":716,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":678,"name":"ElementaryTypeName","src":"12244:5:0"}],"id":679,"name":"VariableDeclaration","src":"12244:14:0"},{"attributes":{"argumentTypes":null,"hexvalue":"3130","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 10","value":"10"},"id":680,"name":"Literal","src":"12261:2:0"}],"id":681,"name":"VariableDeclarationStatement","src":"12244:19:0"},{"attributes":{"assignments":[683]},"children":[{"attributes":{"constant":false,"name":"random","scope":716,"stateVariable":false,"storageLocation":"default","type":"uint8","value":null,"visibility":"internal"},"children":[{"attributes":{"name":"uint8","type":"uint8"},"id":682,"name":"ElementaryTypeName","src":"12346:5:0"}],"id":683,"name":"VariableDeclaration","src":"12346:12:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint8","type_conversion":true},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"type":"type(uint8)","value":"uint8"},"id":684,"name":"ElementaryTypeNameExpression","src":"12361:5:0"},{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"%","type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"uint256","type_conversion":true},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"type":"type(uint256)","value":"uint256"},"id":685,"name":"ElementaryTypeNameExpression","src":"12367:7:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes32","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"overloadedDeclarations":[null],"referencedDeclaration":1590,"type":"function () pure returns (bytes32)","value":"keccak256"},"id":686,"name":"Identifier","src":"12375:9:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes memory","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"member_name":"encodePacked","referencedDeclaration":null,"type":"function () pure returns (bytes memory)"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1583,"type":"abi","value":"abi"},"id":687,"name":"Identifier","src":"12385:3:0"}],"id":688,"name":"MemberAccess","src":"12385:16:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"isStructConstructorCall":false,"lValueRequested":false,"names":[null],"type":"bytes32","type_conversion":false},"children":[{"attributes":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"overloadedDeclarations":[null],"referencedDeclaration":1587,"type":"function (uint256) view returns (bytes32)","value":"blockhash"},"id":689,"name":"Identifier","src":"12402:9:0"},{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"-","type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"member_name":"number","referencedDeclaration":null,"type":"uint256"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":1586,"type":"block","value":"block"},"id":690,"name":"Identifier","src":"12412:5:0"}],"id":691,"name":"MemberAccess","src":"12412:12:0"},{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"++","prefix":false,"type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":335,"type":"uint8","value":"nonce"},"id":692,"name":"Identifier","src":"12427:5:0"}],"id":693,"name":"UnaryOperation","src":"12427:7:0"}],"id":694,"name":"BinaryOperation","src":"12412:22:0"}],"id":695,"name":"FunctionCall","src":"12402:33:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":673,"type":"address","value":"account"},"id":696,"name":"Identifier","src":"12437:7:0"}],"id":697,"name":"FunctionCall","src":"12385:60:0"}],"id":698,"name":"FunctionCall","src":"12375:71:0"}],"id":699,"name":"FunctionCall","src":"12367:80:0"},{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":679,"type":"uint8","value":"maxValue"},"id":700,"name":"Identifier","src":"12450:8:0"}],"id":701,"name":"BinaryOperation","src":"12367:91:0"}],"id":702,"name":"FunctionCall","src":"12361:98:0"}],"id":703,"name":"VariableDeclarationStatement","src":"12346:113:0"},{"attributes":{"falseBody":null},"children":[{"attributes":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":">","type":"bool"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":335,"type":"uint8","value":"nonce"},"id":704,"name":"Identifier","src":"12474:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"323530","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 250","value":"250"},"id":705,"name":"Literal","src":"12482:3:0"}],"id":706,"name":"BinaryOperation","src":"12474:11:0"},{"children":[{"children":[{"attributes":{"argumentTypes":null,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"operator":"=","type":"uint8"},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":335,"type":"uint8","value":"nonce"},"id":707,"name":"Identifier","src":"12501:5:0"},{"attributes":{"argumentTypes":null,"hexvalue":"30","isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"subdenomination":null,"token":"number","type":"int_const 0","value":"0"},"id":708,"name":"Literal","src":"12509:1:0"}],"id":709,"name":"Assignment","src":"12501:9:0"}],"id":710,"name":"ExpressionStatement","src":"12501:9:0"}],"id":711,"name":"Block","src":"12487:97:0"}],"id":712,"name":"IfStatement","src":"12470:114:0"},{"attributes":{"functionReturnParameters":677},"children":[{"attributes":{"argumentTypes":null,"overloadedDeclarations":[null],"referencedDeclaration":683,"type":"uint8","value":"random"},"id":713,"name":"Identifier","src":"12601:6:0"}],"id":714,"name":"Return","src":"12594:13:0"}],"id":715,"name":"Block","src":"12234:380:0"}],"id":716,"name":"FunctionDefinition","src":"12168:446:0"}],"id":717,"name":"ContractDefinition","src":"636:11995:0"}],"id":718,"name":"SourceUnit","src":"0:12632:0"},"compiler":{"name":"solc","version":"0.4.26+commit.4563c3fc.Emscripten.clang"},"networks":{"5777":{"events":{},"links":{},"address":"0x911C04A4C79eCd42fba595c4aF72A9ea5ab7473e","transactionHash":"0x54ab08c59038f680bc4c5ea6b56ff7aa82fc08d315da8e644875390b1e624d94"}},"schemaVersion":"3.4.1","updatedAt":"2021-08-14T10:24:25.571Z","devdoc":{"methods":{"buy(address,string)":{"details":"Called when user wants to buy flight insurance     "},"fund(address)":{"details":"An airline has to provide fund to register other airilines.     "},"getFlightNumbers()":{"details":"Gets the flight numbers     "},"registerAirline(address)":{"details":"Add an airline to the registration queue    "},"registerFlight(address,string,uint256)":{"details":"Register a future flight for insuring.    "},"withdraw()":{"details":"Called after oracle has updated flight status     "}}},"userdoc":{"methods":{"isOperational()":{"notice":"*****************************************************************************************"}}}}')}};